It is a widely used effect in graphics software, typically to reduce image noise and reduce detail. From Wikipedia we gain the following excerpt:Ī Gaussian blur (also known as Gaussian smoothing) is the result of blurring an image by a Gaussian function. The Gaussian Blur algorithm can be described as one of the most popular and widely implemented methods of image blurring. The following image is screenshot of the Weighted Difference of Gaussians sample application in action:įrog: Kernel 5×5, Weight1 1.8, Weight2 0.1 When weight factor values only differ slightly, resulting images may be prone to image noise. The greater the difference between the first and second weight factor values result in a greater degree of image noise removal. In a similar fashion, when the second weight factor value exceeds that of the first weight factor resulting images will be generated with a White background and edges being indicated in Black. If the value of the first weight factor exceeds the value of the second weight factor resulting images will be generated with a Black background and edges being indicated in White. As expected, lower weight factors values result in a less intense level of Gaussian Blurring being applied. Higher weight factors result in a more intense level of Gaussian Blurring being applied. A Weight Factor determines the blur intensity observed in result images after having applied image convolution. Weight Values – The sample application calculates Gaussian matrix kernels and in doing so implements a weight factor.
In addition, the edges detected in source/input images will generally be expressed as thicker gradient edges in resulting images. Larger matrix kernels can be computationally expensive to compute as kernel sizes increase. Smaller matrix kernels are faster to compute and generally result in image edges detected in the source/input image to be expressed through thinner gradient edges. Kernel Size – This option relates to the size of the matrix kernels that is to be implemented when performing Gaussian Blurring through image convolution.If desired, the sample application enables users to save resulting images to the local file system through clicking the Save Image button. Load/Save Images – When executing the sample application users are able to load source/input images from the local file system through clicking the Load Image button.The configuration options exposed through the sample application’s user interface can be detailed as follows: The sample application user interface enables the user to configure and control the implementation of a Difference of Gaussians Edge Detection Image filter.
The sample application serves as a practical implementation of the concepts explored throughout this article. This article relies on a sample application included as part of the accompanying sample source code.
This article is accompanied by a sample source code Visual Studio project which is available for download here. This article extends the conventional implementation of Difference of Gaussian algorithms through the application of equally sized matrix kernels only differing by a weight factor.įrog: Kernel 5×5, Weight1 0.1, Weight2 2.1 It is the purpose of this article to illustrate the concept of Difference of Gaussians Edge Detection.