仅获取指定面积的图片
label_Path = 'G:\膝关节数据\公共数据集\SKI10Data\ceshi\label\';%原始标签位置
img_Path='G:\膝关节数据\公共数据集\SKI10Data\ceshi\image\'%标签对应的图片位置
% str = num2str(t);
%save_label='G:\膝关节数据\公共数据集\SKI10Data\png\training\mubiao\label\';%保存位置
%save_image='G:\膝关节数据\公共数据集\SKI10Data\png\training\mubiao\image\'
imgDir = dir([label_Path '\*.png']); % 遍历所有jpg格式文件
disp(length(imgDir))
for i_file = 1:length(imgDir) % 遍历结构体就可以一一处理图片了
disp(i_file)
total_pixel=0;
% 通过imgDir(i_file).name读取的数据是乱序进行的
I = imread([label_Path imgDir(i_file).name]); %读取每张图片
[m n k]=size(I);
for i=1:m%图片长(像素)
for j=1:n%图片宽(像素)
if (I(i,j,1)~=0 && I(i,j,2)~=0 && I(i,j,3)~=0) %获取图片中像素值大于0的像素
total_pixel=total_pixel+1
end
end
end
if total_pixel>0
imwrite(I,[save_label '\' imgDir(i_file).name])%将文件名保存为与原文件名相同的名字
%I2=imread([img_Path '\' imgDir(i_file).name]);
%imwrite(I2,[save_image '\' imgDir(i_file).name])
end
end
获取指定面积后的结果如下: