# How do I apply a filter in MATLAB?

My question is, how can I apply a 5 × 5 Laplacian filter with 8 in the center in MATLAB?

I try this code but it doesn't work

``````kAvg = fspecial('average',[5 5]);
kLap = fspecial('laplacian');
```

```
+3

source to share

According to the documentation, you can use `imfilter`

to apply the filter:

``````I = imread('cameraman.tif');
kLap = fspecial('laplacian');
filtered = imfilter(I,kLap,'replicate');
imshow(filtered); title('Filtered Image');
```

```

EDIT: I just figured out what you were asking for :

``````I = imread('cameraman.tif');

% simple high pass filter
kLap = [-1, -1, -1;
-1,  8, -1;
-1, -1, -1];

filtered_3x3 = imfilter(I,kLap,'replicate');
imshow(filtered_3x3); title('Filtered Image (3x3)');
pause();

% another simple high pass filter
kLap = [-1 -3 -4 -3 -1;
-3  0  6  0 -3;
-4  6 20  6 -4;
-3  0  6  0 -3;
-1 -3 -4 -3 -1];

filtered_5x5 = imfilter(I,kLap,'replicate');
imshow( filtered_5x5 ); title('Filtered Image (5x5)');
```

```
+2

source

All Articles