Как применить фильтр в MATLAB? - PullRequest
3 голосов
/ 06 марта 2012

У меня вопрос, как применить фильтр Лапласа 5 × 5 с 8 в центре в MATLAB?

Я пробую этот код, но он не работает

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

1 Ответ

2 голосов
/ 06 марта 2012

Согласно документации , вы можете использовать imfilter для применения фильтра:

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

РЕДАКТИРОВАТЬ: Я только что понял, что вы просили для :

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)');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...