错误使用medfilt2预期输入数字1,是二维的。

134(30天)
使用medfilt2我有一个错误,我不知道如何解决它。请帮助,这里我用Matlab R2020a版本。
错误从第3行。下面是运行时出现的错误的细节:
  1. 错误使用medfilt2预计1号输入,一个是二维的。
  2. 错误medfilt2 > parse_inputs(第107行)。validateattributes (…
  3. 错误medfilt2(线49)。[a, mn, padopt] = parse_inputs (args {:});
我= imread (“peppers.png”);
我在= imnoise (,的盐和胡椒,0.02);
j - 1 = medfilt2 (, [3 3]);
J2 = medfilt2(在[5 5]);
图中,imshow(我);
图,imshow);
图中,imshow (j - 1);
图中,imshow (J2);
-谢谢提前

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年6月6日
辣椒png是彩色图像。rgb图像三维数组。medfilt2无法处理3 d数组。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年6月6日
下一步是imnoise,说…… //www.tianjin-qmedu.com/help/images/ref/imnoise.html d123e157610 它必须的输入图像灰度。
所以你有几个选择:
  • 将RGB图像转换成灰度和处理一个平面
  • 过程的三个颜色飞机独立和组合的结果
  • 使用medfilt3()而不是medfilt2()(这可能不是一个好主意!)
  • 将RGB图像转换成其他颜色系统,如L * ab或HSV,并提取其中一个表示窗格和工作
例如,
我= imread (“peppers.png”);
HSV = rgb2hsv(我);
imshow (HSV);标题(“真正的hsv”);
H = HSV (:: 1);
H11 = H;H11 (:,: 2:3) = 1;
imshow (H11);标题(hsv,年代& V)
I11 = hsv2rgb (H11);
imshow (I11);标题(的RGB重建完整H + S & V”)
在= imnoise (H,的盐和胡椒,0.02);
j - 1 = medfilt2 (, [3 3]);
HSV1 = j - 1;HSV1 (:,: 2:3) = 1;
imshow (HSV1);标题(噪声H和完整的年代& V)
I1 = hsv2rgb (HSV1);
imshow (I1);标题(噪声的RGB重建完整H + S & V”)
imshowpair (I11 I1,“差异”)
标题(“没有噪声和噪声”)

登录置评。

类别

找到更多的在图像处理工具箱帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的