帮我设计一个图像的低通滤波器,用MATLAB设计一个3×3模板标准差为0.5的高斯低通滤波

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:09:55
这个怎么不能在matlab中运行呀,?

function low_pass(I)
h = fspecial('gaussian',[3,3], 0.5);
[m n p]=size(I);
if p==1
I=double(I);
I=conv2(I,h,'same');
end
if p==3
I=double(I);
I(:,:,1)=conv2(I(:,:,1),h,'same');
I(:,:,2)=conv2(I(:,:,2),h,'same');
I(:,:,3)=conv2(I(:,:,3),h,'same');
end
I=uint8(I);
imshow(I);

应该差不多吧

我写的是函数,你要用主函数调用。
或者你直接在commond window中输入:

I=imread('*.bmp'); %*.bmp是你读入 的图片名
low_pass(I);

就行了

matlab啊?我们都管这个叫MLB