Main Content

Filter Images Using Predefined Filter

This example shows how to create a predefined Laplacian of Gaussian (LoG) filter using the fspecial function and apply the filter to an image using the imfilter function. A LoG filter highlights regions with rapidly varying intensities and reduces the impact of variations caused by noise. The fspecial function produces several additional types of predefined filters in the form of correlation kernels.

Read and display an image.

I = imread("moon.tif");
imshow(I)

Figure contains an axes object. The hidden axes object contains an object of type image.

Create a 7-by-7 LoG filter with a standard deviation of 0.4 using fspecial.

h = fspecial("log",7,0.4)
h = 7×7

    0.1263    0.1263    0.1263    0.1263    0.1263    0.1263    0.1263
    0.1263    0.1263    0.1263    0.1267    0.1263    0.1263    0.1263
    0.1263    0.1263    0.2333    1.1124    0.2333    0.1263    0.1263
    0.1263    0.1267    1.1124  -10.4357    1.1124    0.1267    0.1263
    0.1263    0.1263    0.2333    1.1124    0.2333    0.1263    0.1263
    0.1263    0.1263    0.1263    0.1267    0.1263    0.1263    0.1263
    0.1263    0.1263    0.1263    0.1263    0.1263    0.1263    0.1263

Apply the filter to the image using imfilter.

I2 = imfilter(I,h);

Display the filtered image.

imshow(I2)

Figure contains an axes object. The hidden axes object contains an object of type image.

See Also

|

Related Topics