f = 'C:UsersHPDesktopimages';
d = ls(f);
d(1,:)=[]
d(1,:)=[]
mkdir('New_images')
for i=1:size(d)
I=imread(fullfile(f,d(i,:)));
Kmedian = I;
for i = 1:3
Kmedian(:,:,i) = medfilt2(Kmedian(:,:,i));
end
Kmedian=imresize(Kmedian,[227 227]);
imshow(Kmedian)
imwrite(Kmedian,fullfile('New_images',strcat(num2str(i),'.jpeg')));
end
如何立即使用中值滤波器。
错误:调整大小时(第5行(位置3中的索引超过了数组界限(不能超过1(。
调整大小时出错(第10行(K中位数(:,:,i(=medfilt2(K中位数(,:,i((;
medfilt2
函数一次只能在一个通道上工作。如果你有一个彩色图像,你将有一个三维到你的像素";矩阵";分别用于红色、绿色和蓝色通道。
您仍然可以通过将图像转换为灰度或将其单独应用于每个通道来使用medfilt2
功能。
Kmedian = I;
for i = 1:size(Kmedian,3) % Iterate over all the channels in the image
Kmedian(:,:,i) = medfilt2(Kmedian(:,:,i));
end
更新以考虑单通道和多通道图像