首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

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

2012-02-16 
【求助】求教一个关于 中值滤波 处理图像的问题Iimread(BlueLED.jpg)imshow(I)title(Original Picture

【求助】求教一个关于 中值滤波 处理图像的问题
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); % 灰度%下面继续你的其他操作,就不会出问题了% ... 

热点排行