MATLAB中值滤波图像处理

代码及错误提示如下
I=imread('D:\picture.jpg');
figure;
imshow(I);
g=medfilt2(I);%中值滤波
figure;
imshow(g);
Error using medfilt2
Expected input number 1, A, to be two-dimensional.

Error in medfilt2>parse_inputs (line 106)
validateattributes(a, {'numeric','logical'}, {'2d','real'},
mfilename, 'A', 1);

Error in medfilt2 (line 48)
[a, mn, padopt] = parse_inputs(varargin{:});
求大神帮忙,我的毕设马上要交了,不赶趟了
怎样修改能将滤波后的图像显示出来

这句g=medfilt2(I);%中值滤波改成

g(:,:,1)=medfilt2(I(:,:,1));
g(:,:,2)=medfilt2(I(:,:,2));
g(:,:,3)=medfilt2(I(:,:,3));
其他不变
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-05-21
%%%%中值滤波得加窗
I=imread('D:\picture.jpg');
figure;
imshow(I);
g=medfilt2(I,[5 5]);
%中值滤波
figure;
imshow(g);追问

怎么加啊?我不会啊,还有,我想要这样的处理结果

追答

拜托 你这是提取火影图像 找找相关资料看看吧 百度文库就可以
灰度化 二值化 找到火影后 重做图像 就可以了 具

本回答被网友采纳
第2个回答  2013-06-07
medfilt2(A,[m n])---[m n]表示滤波器的大小,即是m*n的滤波器,m行n列的滤波器;
你如果只是问程序出错的问题,我觉得楼上的答得是对的;你想要的处理结果 是中值滤波可以达到的吗???追问

不晓得啊,那你帮帮我吧,我一点都不会啊

追答

中值滤波就是楼上回答的那样(
x=rgb2gray(I); %转成灰度图像
g=medfilt2(x,[5 5]);
需要转为灰度图像),你要的处理结果应该要先转为灰度图----阈值分割再根据阈值结果重新赋值图像数据吧

相似回答