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)```

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)`