LFR*_*FRC 4 matlab image-processing
我想将滤镜medfilt2
应用于具有盐和胡椒噪声的图像.
我试过这段代码:
img = imread('4.02.04_salt&pepper.tif');
blur = medfilt2(img,[3 3]);
imshow(blur);
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
`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]);`
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会这样.
Tri*_*ion 16
您的图像很可能是RGB帧的彩色图像.medfilt2
仅适用于单色的2D图像.最简单的解决方法可能是将它分别应用于每种颜色.
见例子:
% 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);
Run Code Online (Sandbox Code Playgroud)
好像:
归档时间: |
|
查看次数: |
5509 次 |
最近记录: |