matlab图像筛选转换,图片识别、筛选并批量保存

本帖最后由 Anna_Uy4zK 于 2019-4-19 15:34 编辑

对几百张图片进行筛选,把全黑图片删掉,只保留有图像的图片,请问MATLAB如何实现?我在网上做了一个尝试,请指教一二。在此非常感谢!尝试代码如下:

%%对图片进行筛选

file_path1='F:\实验\2019春季\201904\图片自动识别\Video\';  %图像文件夹路径

Output_file_path2='F:\实验\2019春季\201904\图片自动识别\VideoTry1\';%输出路径

img_path_list=dir(strcat(file_path1,'*.jpg'));%获取该文件夹下所有jpg格式的图像

img_num=length(img_path_list);%获取图像的数量

for j=1:img_num  %逐一读取图像

image_name=img_path_list(j).name;%图像名

image1=imread(strcat(file_path1,image_name));%拼接图像名

fprintf('%d %s\n',j,strcat(file_path1,image_name));%显示正在处理的图像名

%图像处理过程

if size(image1,3)>1

image2= rgb2gray(image1);%将真彩色图片转换成灰度图像

img_num=image2== 0;

n_black = sum(img_num(:)); %计算黑色像素点的个数

if n_black == size(image1,1)*size(image1,2) %若黑像素个数等于图像所有像素个数

image3=find(image2==n_black);%查找全黑图片

delete(image3);%删除全黑图片

imshow(image);

saveas(image1,[Output_file_path2,int2str(j),'_bw.jpg']);%将处理后的图片保存到目标文件夹

end

end

end

有图像.jpg

(24.28 KB, 下载次数: 0)

2019-4-19 15:29 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

示例图1

ff20d28abbde206cf9411e346264f54d.png

无图像.jpg

(22.01 KB, 下载次数: 0)

2019-4-19 15:29 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

示例图2

89840895a41912d5c04a31738853f421.png

f5c3d56501a3d0261ce0cb81cbf824a7.gif

2019-4-19 15:26 上传

点击文件名下载附件

1.01 KB, 下载次数: 8

尝试程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值