fvisagie
15th November 2012, 12:42
Spatial Filters - Unsharp Filter (http://homepages.inf.ed.ac.uk/rbf/HIPR2/unsharp.htm) describes "Adaptive Unsharp Masking" as:
"A powerful technique for sharpening images in the presence of low noise levels is via an adaptive filtering algorithm. Here we look at a method of re-defining a highpass filter ... as the sum of a collection of edge directional kernels.
...
"Adaptive filtering using these kernels can be performed by filtering the image with each kernel, in turn, and then summing those outputs that exceed a threshold. As a final step, this result is added to the original image.
...
"This use of a threshold makes the filter adaptive in the sense that it overcomes the directionality of any single kernel by combining the results of filtering with a selection of kernels --- each of which is tuned to an edge direction inherent in the image."
Spatial Filters - Laplacian/Laplacian of Gaussian (http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm) describes Laplacian of Gaussian as:
"... these [Laplacian] kernels are ... are very sensitive to noise. To counter this, the image is often Gaussian smoothed before applying the Laplacian filter. This pre-processing step reduces the high frequency noise components prior to the differentiation step.
"In fact, since the convolution operation is associative, we can convolve the Gaussian smoothing filter with the Laplacian filter first of all, and then convolve this hybrid filter with the image to achieve the required result. Doing things this way has two advantages:
Since both the Gaussian and the Laplacian kernels are usually much smaller than the image, this method usually requires far fewer arithmetic operations.
The LoG (`Laplacian of Gaussian') kernel can be precalculated in advance so only one convolution needs to be performed at run-time on the image."
Both these approaches look worth investigating. In the case of LoG, I realise it can be approximated by sequential discrete Gaussian and Laplacian filters as is often the case, but the convolved LoG approach could potentially be much faster.
My search has turned up nothing so far, at least not by those names, except that mt_edge does implement a Laplacian-only filter. Are there any existing implementations of these?
"A powerful technique for sharpening images in the presence of low noise levels is via an adaptive filtering algorithm. Here we look at a method of re-defining a highpass filter ... as the sum of a collection of edge directional kernels.
...
"Adaptive filtering using these kernels can be performed by filtering the image with each kernel, in turn, and then summing those outputs that exceed a threshold. As a final step, this result is added to the original image.
...
"This use of a threshold makes the filter adaptive in the sense that it overcomes the directionality of any single kernel by combining the results of filtering with a selection of kernels --- each of which is tuned to an edge direction inherent in the image."
Spatial Filters - Laplacian/Laplacian of Gaussian (http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm) describes Laplacian of Gaussian as:
"... these [Laplacian] kernels are ... are very sensitive to noise. To counter this, the image is often Gaussian smoothed before applying the Laplacian filter. This pre-processing step reduces the high frequency noise components prior to the differentiation step.
"In fact, since the convolution operation is associative, we can convolve the Gaussian smoothing filter with the Laplacian filter first of all, and then convolve this hybrid filter with the image to achieve the required result. Doing things this way has two advantages:
Since both the Gaussian and the Laplacian kernels are usually much smaller than the image, this method usually requires far fewer arithmetic operations.
The LoG (`Laplacian of Gaussian') kernel can be precalculated in advance so only one convolution needs to be performed at run-time on the image."
Both these approaches look worth investigating. In the case of LoG, I realise it can be approximated by sequential discrete Gaussian and Laplacian filters as is often the case, but the convolved LoG approach could potentially be much faster.
My search has turned up nothing so far, at least not by those names, except that mt_edge does implement a Laplacian-only filter. Are there any existing implementations of these?