matlab 从一个文件夹中批量读取、处理并保存图片文件到另外一个文件夹

您所在的位置:网站首页 从多个文件夹提取文件怎么操作 matlab 从一个文件夹中批量读取、处理并保存图片文件到另外一个文件夹

matlab 从一个文件夹中批量读取、处理并保存图片文件到另外一个文件夹

2024-07-09 18:13| 来源: 网络整理| 查看: 265

在遇到大型的项目工程,成百上千张图片一张一张进行读取也是非常不可行的[1]。因此,实现“从一个文件夹中批量读取、处理并保存图片文件到另外一个文件夹”的功能是非常必要的。之前我们用C++实现过"批量提取文件夹中文件名"功能 [2],本文用matlab实现"从一个文件夹中批量读取、处理并保存图片文件到另外一个文件夹"的功能。.m文件代码实现如下:

%matlab 从一个文件夹中批量读取、处理并保存图片文件到另外一个文件夹 %测试平台:windows 10, matlab 2010R 64b %编写日期:20180717 %zhouxianen clear; clc; close all; srcFace = 'D:\face\facePN1\posdata';%被读取文件的存放目录(根据自己需要更改设置) fileSavePath='D:\face\facePN1\posdataResize';%文件保存目录(根据自己需要更改设置) src=srcFace; srcsuffix='.jpg';%被读取的文件名后缀(根据被读取文件的实际文件类型设置) srcsuffixSave='.png';%保存文件名后缀(根据自己需要更改设置) files = dir(fullfile(src, strcat('*', srcsuffix))); doDispOrSave = true ;% 是否显示或保存图像;可以设置为:true 或者 false for file_i= 1 : length(files) disp(file_i);%显示当前处理的文件序号 srcName = files(file_i).name; noSuffixName = srcName(1:end-4); srcName1=files(file_i).name; pathImgName=sprintf('%s%s%s',src,'\',srcName1); imgSrc=imread(pathImgName);%读入图像 %对读入的图像进行尺度缩放处理 imgResize=imresize(imgSrc,0.95); %显示或者保存图像 if(doDispOrSave==true)%显示原始图像和处理后的图像 close all; figure('Name','imgSrc-imgResize'); subplot(2,1,1); imshow(imgSrc); subplot(2,1,2); imshow(imgResize); else%保存处理后的文件 savePathName=sprintf('%s%s%s%s',fileSavePath,'\',noSuffixName,srcsuffixSave); imwrite(imgResize,savePathName); end end

参考资料:

[1] https://blog.csdn.net/misayaaaaa/article/details/71157743 ,matlab 批量读取文件夹中的图片、处理后、保存于另一文件夹

[2] https://blog.csdn.net/zhouxianen1987/article/details/78656835 ,批量提取文件夹中文件名(C++代码实现)

  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3