首页 > 其他分享 >批量处理文件夹内的所有图片

批量处理文件夹内的所有图片

时间:2024-07-10 15:43:36浏览次数:16  
标签:文件 name 批量 photo 文件夹 图片

本章将介绍如何对我们文件夹中的图片进行批量处理,也就是批量进行SVD分解,当然这本质上也是一个循环的过程。但如何实现该循环,如何利用matlab批量读取文件进行处理,这是我们本章要体现的重点思想

目录

一、找到文件路径与提取文件信息

folder_name = 'D:\我的文件\数学建模\清风资料\1. 视频配套所有课件和代码_后续还会不断更新\第13讲. 奇异值分解SVD和图形处理\代码和例题数据\压缩文件夹内的所有图片\葫芦娃七兄弟';
dirOutput=dir(fullfile(folder_name, '*.jpg'));  
files={dirOutput.name}; 

首先,我们将文件夹路径以字符串的形式保存在folder_name
之后,利用fullfile函数可根据指定的文件夹和文件名构建完整的文件路径。第一个参数为文件的路径,第二个参数为文件的名称,'*.jpg'这里的*代表任意字符串,整串代码代表以.jpg为后缀的所有文件
dir函数会返回一个数组,数组里面包含着每个子文件的信息

之后,将文件的名称单独储存到一个变量files之中

二、进行循环,批量处理图片文件

n = length(files);  % 图片的总数
ratio = 0.9;  % 要保留的特征比例为90%
for i = 1:n 
    disp('---------------------------------------------------------------------------------------------')
    photoname = files(i);   % 注意此时的photoname是一个cell字符串对象,需要转换为字符串
    % 如果我们直接把这个cell类型的变量,传递到其他函数中作为string类型使用,就会出现问题
    name = photoname{1};  %直接这样取第一个元素就可以啦~cell数组中取元素使用大括号
    photo_address = fullfile(folder_name, name);  %图片的绝对地址
    disp(photo_address)
    save_address = fullfile(folder_name, strcat('compress_',name));  % 压缩后文件的保存地址
    photo_compress(photo_address, save_address, ratio)
    disp('---------------------------------------------------------------------------------------------')
end

我们仍然使用自己编好的photo_compress函数进行处理,需要输入我们的图片的地址,图片保存的地址以及需要保留的特征比例
那么关键就是提取图片的名称,我们虽然已经将名称保存到了files变量中,但是以cell的结构保存的,因此我们可以用photoname{1},用在后面直接打大括号的方式提取字符串
之后,就可以直接用我们编号的函数进行循环,批量处理文件

标签:文件,name,批量,photo,文件夹,图片
From: https://www.cnblogs.com/dlmuwxw/p/18294137

相关文章

  • Stable Diffusion|IP-Adapter 图片风格迁移
    前段时间腾讯发布了一个新的ControlNet模型叫“IP-Adapter”,它的作用就是把上传的图像转化为图像提示词,简单的来说就是跟Midjourney的垫图功能差不多。IP-Adapter能够精准地识别参考图的风格特征,并且可以很好的适配其他的模型以及ControlNet模型。它还可以让图像提示词......
  • 如何保护重要文件夹?文件夹保护方法盘点
    文件夹是管理电脑数据的重要工具,为了避免文件夹数据泄露,我们需要保护重要文件夹。下面我们就来盘点一下文件夹的保护方法。文件夹加密超级大师文件夹加密超级大师是一款专业的电脑数据保护软件,支持文件夹加密、文件夹伪装、万能锁等功能,可以为文件夹提供全方位的保护。文......
  • 如何让模糊的图片更清晰?
    不知道大家有没有遇到过这种情况?想要一张图片时,怎么调整都会不太清晰,有没有什么好的办法让模糊图片更加清晰呢?——如何将模糊图片更清晰——写一个东西,需要配图,在网络上好不容易找到一张图,但是图片很小,一拉大就变模糊了,结果只好无奈舍弃。或者你需要用一下以前的照片,找了......
  • vue 点击图片方法
    一般项目中需要点击触发事件才进行查看大图,elementUi组件库中并没有写触发需要执行的代码,这里在触发的方法中加this.$refs.preview.clickHandler()触发查看大图功能<el-uploadclass="avatar-uploader"accept=".jpg,.jpeg,.png"name="image":action="uploadI......
  • 解锁:掌握:公网共享文件夹的关键技巧
    #前言#信息的快速共享和高效协作成为了各行各业发展的关键。公网共享文件夹作为一种便捷的信息共享方式,在教育培训、企业工作等领域发挥着重要作用。然而,要充分发挥公网共享文件夹的优势,掌握关键技巧至关重要。在这一过程中,江苏神卓旗下的一款创新产品为我们提供了卓越的解决......
  • opencv读取视频文件夹内视频的名字_时长_帧率_分辨率写入excel-cnblog
    看视频的时候有的视频文件名贼长。想要翻看,在文件夹里根本显示不出来,缩短又会丢失一些信息,所以我写了一份Python代码,直接获取视频的名字,时长,帧率,还有分辨率写到excel里。实际效果如下图。可以看到需要的大致信息都被提取出来了接下来直接上代码importosimportxlsxwr......
  • Matlab图片的处理
    上一章我们介绍了奇异值分解的理论原理,这一章我们使用奇异值分解来压缩图片目录一、RGB模式(1)灰色图片与彩色图片二、matlab进行图片压缩1.参数分析2.读取图像文件并进行转换3.进行奇异值分解4.将压缩后的图片保存5.实例演示(1)原图:(2)进行处理(3)处理后————保留60%信息一、RGB......
  • 使用FastReport报表动态更新人员签名图片
    在一些报表模块中,需要我们根据用户操作的名称,来动态根据人员姓名,更新报表的签名图片,也就是电子手写签名效果,本篇随笔介绍一下使用FastReport报表动态更新人员签名图片。1、设计FastReport报表,使用图片来代替签名效果例如我们设计了以上的FastReport报表,其中签字盖章哪里,我们用......
  • Unity实现安卓App预览图片、Pdf文件和视频的一种解决方案
    一、问题背景最近在开发app项目,其中有个需求就是需要在app软件内显示图片、pdf和视频,一开始想的解决方案是分开实现,也就是用Image组件显示图片,找一个加载pdf的插件和播放视频的插件,转念一想觉得太麻烦了,于是就想着看能不能想电脑浏览器打开图片、pdf和视频一样直接加载显示......
  • 文案板块:5分钟掌握批量创作100条小红书爆款笔记文案(机器人实操训练)
    引言在数字营销的世界里,内容为王。但如何在短时间内制作出大量高质量的内容,以吸引并保持受众的注意力呢?作为普通人,你要有结果,你除非有非常过人的内容制作能力,不然就是批量化,否则大概率很难有办法突破短时间内的流量爆发。这种搞流量的方法确实也适合小白,因为基本上都是重复......