Diffuse Filtering Images

by Developer.com Staff

Diffuse Filtering Images

Various Filters can be applied to an image one of Such kind is the Diffuse filter. The diffuse filter uses the rnd function to introduce some randomness to the image and give it a painterly look.

For i = 1 To Picturebox.ScaleHeight - 3
	For j = 1 To Picturebox.ScaleWidth - 3
		pixval = Picturebox.Point(j + CInt(Rnd * 10), _
                         i + CInt(Rnd * 10))
		red_val = "&h" & Mid$(CStr(Hex(pixval)), 5, 2)
		green_val = "&h" & Mid$(CStr(Hex(pixval)), 3, 2)
		blue_val = "&h" & Mid$(CStr(Hex(pixval)), 1, 2)
		If red_val = "&h" Then red_val = "&h0"
		If green_val = "&h" Then green_val = "&h0"
		If blue_val = "&h" Then blue_val = "&h0"
		Picturebox.PSet (j, i), RGB(red_val, green_val, _

This Code above Traverses the images as a two dimensional array picks all the pixels and randomly rearranges the pixels to some fixed diameter. Since this happens to all the pixels a kind of diffused effeect can be seen on the images.

This article was originally published on Wednesday Nov 20th 2002
Mobile Site | Full Site