如何在MATLAB中应用滤波器?
问题描述:
我的问题是如何在MATLAB的中心应用5×5拉普拉斯滤波器?如何在MATLAB中应用滤波器?
我试试这个代码,但它不工作
kAvg = fspecial('average',[5 5]);
kLap = fspecial('laplacian');
答
按照documentation,您可以使用imfilter
应用过滤器:
I = imread('cameraman.tif');
kLap = fspecial('laplacian');
filtered = imfilter(I,kLap,'replicate');
imshow(filtered); title('Filtered Image');
编辑:我只是意识到你问什么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)');
请给出更多的上下文。在我的例子中,我看不到任何图像。您是否看过http://www.mathworks.com/help/toolbox/images/ref/fspecial.html上的Matlab文档?拉普拉斯与8在中心是什么意思。拉普拉斯在中心有一个-1。 – 2012-03-06 12:38:50