读书人

求教一个关于 中值滤波 处理图像的有关

发布时间: 2012-02-16 21:30:36 作者: rapoo

【求助】求教一个关于 中值滤波 处理图像的问题
I=imread('BlueLED.jpg');
imshow(I);
title('Original Picture');
J=imnoise(I,'salt & pepper',0.04); %***add salt and pepper noise
title('added salt noise');
figure
imshow(J);
K=medfilt2(J,[4,4]) %By median filtering
figure
imshow(K);
title('by median filtering');


这个程序代码老是给我报错:


??? Error using ==> iptcheckinput
Function ORDFILT2 expected its first input, A, to be two-dimensional.

Error in ==> ordfilt2>ParseInputs at 135
iptcheckinput(A, {'numeric','logical'}, {'2d','real'}, mfilename, 'A', 1);

Error in ==> ordfilt2 at 51
[A,order,domain,s,padopt,msg] = ParseInputs(varargin{:});

Error in ==> medfilt2 at 57
b = ordfilt2(a, order1, domain, padopt);

Error in ==> median_filtering_2 at 8
K=medfilt2(J,[4,4]) %By median filtering


哪位大侠帮我分析分析 是啥原因?
不胜感激。

[解决办法]
??? Error using ==> iptcheckinput
Function ORDFILT2 expected its first input, A, to be two-dimensional.
..
Error in ==> median_filtering_2 at 8
K=medfilt2(J,[4,4]) %By median filtering

注意看第一个报错和最后一个
第一个是说问题: 第一个输入必须是二维矩阵(灰度图)
最后一个是说,具体哪句调用产生的问题,medfilt2你想做中值滤波,J是加噪后的图片(注意,imread后是三维的彩色图),你调用之后,J作为参数传递给后面的函数,出错的.

解决办法:
在灰度图上实验,步骤

C/C++ code
I = imread('test.jpg'); % 彩色I = rgb2gray(I); % 灰度%下面继续你的其他操作,就不会出问题了% ... 

读书人网 >其他开发语言

热点推荐