matlab的这个错误怎么解决?

???Errorusing==>runErrorusing==>images\private\checkinput>check_attributesFunctionORD... ??? Error using ==> run
Error using ==> images\private\checkinput>check_attributes
Function ORDFILT2 expected its first input argument, A,
to be two-dimensional.
源程序

I=imread('tatanic.jpg');

I1=imnoise(I,'gaussian');

I2=imnoise(I,'salt & pepper',0.02);

I3=imnoise(I,'speckle');

J1=medfilt2(I1,[3,3]);

J2=medfilt2(I2,[3,3]);

J3=medfilt2(I3,[3,3]);

figure,imshow(J1);

title('tatanic高斯噪声—3*3中值滤波')

figure,imshow(J2);

title('tatanic椒盐噪声—3*3中值滤波')

figure,imshow(J3);

title('tatanic乘性噪声—3*3中值滤波')
展开
 我来答
施西贝虎
推荐于2016-08-13 · TA获得超过414个赞
知道小有建树答主
回答量:331
采纳率:100%
帮助的人:186万
展开全部
medfilt2()只能处理二维的图像,你可以考虑将三维的jpg图像转为二维的grayscale图像,如下:

I=imread('tatanic.jpg');

I = .2989*I(:,:,1)...
+.5870*I(:,:,2)...
+.1140*I(:,:,3);

I1=imnoise(I,'gaussian');

I2=imnoise(I,'salt & pepper',0.02);

I3=imnoise(I,'speckle');

J1=medfilt2(I1,[3,3]);

J2=medfilt2(I2,[3,3]);

J3=medfilt2(I3,[3,3]);

figure,imshow(J1);

title('tatanic高斯噪声—3*3中值滤波')

figure,imshow(J2);

title('tatanic椒盐噪声—3*3中值滤波')

figure,imshow(J3);

title('tatanic乘性噪声—3*3中值滤波')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式