gpt4 book ai didi

matlab - medfilt2 过滤器期望输入是二维的

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:40 25 4
gpt4 key购买 nike

我想将过滤器 medfilt2 应用于具有椒盐噪声的图像。

我试过这段代码:

img = imread('4.02.04_salt&pepper.tif');
blur = medfilt2(img,[3 3]);
imshow(blur);

但是我得到一个错误:

`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{:});

Error in codLab3 (line 87)
blur = medfilt2(img,[3 3]);`

我不知道为什么会这样。

最佳答案

您的图像很可能是具有 RGB 帧的彩色图像。 medfilt2 仅适用于单一颜色的二维图像。最简单的解决方法可能是将它分别应用于每种颜色。

看例子:

% load an image
img = imread('peppers.png');

% add some noise
img_noisy = imnoise(img, 'salt & pepper', 0.02);
figure; imshow(img_noisy);

% apply medfilt2 on each color
img_filtered = img_noisy;
for c = 1 : 3
img_filtered(:, :, c) = medfilt2(img_noisy(:, :, c), [3, 3]);
end
figure; imshow(img_filtered);

看起来像:

enter image description here

关于matlab - medfilt2 过滤器期望输入是二维的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com