how to remove error ??? Error using ==> iptcheckinput Function MEDFILT2 expected its first input, A, to be two-dimensional. Error in ==> medfilt2>parse_inputs at 109 iptcheckinput(a, {'numeric','logical'}, {'2d','real'}, mfilename, 'A', 1); Error i

8 visualizaciones (últimos 30 días)
>> i=imread('chm.jpg'); imshow(i) noisy_img = imnoise(i,'salt & pepper',0.02); imshow(noisy_img) k = medfilt2(noisy_img); close all; subplot(211);imshow(noisy_img); subplot(212); imshow(k);

Respuesta aceptada

DGM
DGM el 11 de Dic. de 2024 a las 23:01
The image is a JPG. Most JPGs are RGB. Medfilt2() only accepts a single-channel input. You either need to make the input single-channel (gray), or you need to filter it channelwise. Alternatively, you can use medfilt3() with a single-page window specification.
% the inputs
inpict = imread('peppers.png');
winsize = [9 9];
% use medfilt2() in a loop
op1 = inpict;
for c = 1:size(inpict,3)
op1(:,:,c) = medfilt2(inpict(:,:,c),winsize,'symmetric');
end
% use medfilt3() with the window depth set to 1
op2 = medfilt3(inpict,[winsize 1],'symmetric');
% the results are identical
immse(op1,op2)
ans = 0
% show it
imshow(op2)

Más respuestas (0)

Categorías

Más información sobre Visualization and Data Export en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by