Matlab 同一文件夹下图片批量处理的两种简单方法

2023-05-16

Matlab 同一文件夹下图片批量处理的两种简单方法

最近因为实验中有许多图片需要处理,本来的做法是一张张读取图片,这是相当麻烦的,因为每处理一张图片就需要修改相应的图片名。于是就想着要是可以批量处理就好了,这样就可以大大提高效率。通过阅读文章和自己亲身的实践,下面总结两种方法,希望可以给其他人做参考,也方便自己以后使用。


1. 几个函数的介绍

在这之前需要首先介绍几个用到的函数:

1.1 strcat函数

这个函数就是字符串连接函数,举个例子:

a='Good';
b='morning';
c=strcat(a,b)
运行结果:
c =

Goodmorning

1.2 dir函数

dir的功能就是列出指定文件夹下的文件,并将其放在一个结构体当中。有如下几种用法:d
dir(‘.’)列出当前目录下所有子文件夹和文件
dir(‘G:\实验图片’)列出指定目录下所有子文件夹和文件
dir(‘*.m’)列出当前目录下符合正则表达式的文件夹和文件

2. 两种实现方法

介绍完上面的函数下面就介绍两种实现的方法

2.1 方法一

直接看代码:

file_path =  'G:\实验图片-2018-8-15\';% 图像文件夹路径
img_path_list = dir(strcat(file_path,'*.jpg'));%获取该文件夹中所有.jpg格式的图像
img_num = length(img_path_list);%获取图像总数
if img_num > 0 %有满足条件的图像
        for pn = 1:img_num %逐一读取图像
            image_name = img_path_list(pn).name;% 图像名
            img_origin =  imread(strcat(file_path,image_name));%读取图像
            fprintf('%d %s\n',pn,strcat(file_path,image_name));% 显示正在处理的图像名
 %%此处添加具体的图像处理程序
 end
    end

这种方法就是先将指定路径下的“.jpg”图片通过dir函数放到结构体当中,再逐一地对图像进行读取和处理。

fprintf('%d %s\n',pn,strcat(file_path,image_name));

这句代码其实很有用的,可以实时打印消息,告诉你目前处理到哪个图片了,也方便我们判断程序有没有问题。

2.2 方法二

还是先看代码:

fig_path='G:\实验图片-2018-8-15\';
cd (fig_path); %切换到指定路径下
allfigs=struct2cell(dir('*.jpg')); %只处理jpg文件
[w,img_num]=size(allfigs); %获得jpg文件的个数
for pn=1:img_num         %逐次取出图片
    image_name=allfigs{1,pn};  %allfigs{1,pn}存储每个图片的名字
    img_origin=imread(image_name); %读取图片
    fprintf('%d %s\n',pn,strcat(fig_path,image_name));
%%此处添加具体的图像处理程序
 end

这种方法本质上和上面是相似的,差别主要在于这里通过struct2cell函数,将.jpg文件列表转换成了胞元数组形式,通过胞元数组处理每个图片。

3. 含有子文件夹的情况

这种方法只是针对文件夹当中不含有子文件夹的情况,如果子文件夹当中也有图片需要处理,那么就需要修改了。但是本人由于处理过程不涉及这种情况,就没有深究了。只是看到一篇文章中提供了一种办法,但本人也没有去验证,在这里就先贴出来。含有子文件夹的处理办法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab 同一文件夹下图片批量处理的两种简单方法 的相关文章

  • Python爬虫之收藏夹

    正则表达式30分钟入门教程 在线正则表达式测试 requests中文文档 Beautiful Soup 4 2 0 中文文档
  • 树莓派 - PX4 安装教程

    留坑 xff0c 近期群上有小伙伴想要入坑 树莓派PX4 xff0c 所以想写一个基础安装教程 xff0c 如果有不合理请指出 250渣渣架子 xff0c 后期换成Q380了 准备清单 1 xff0c 树莓派Pi3 xff08 推荐这个 x
  • STM32 Systick定时器在实现1us延时时的问题与解决

    问题 xff1a 使用systick config 函数来实现计数 xff0c 这个函数在下面代码中的 SysTick CTRL TICKINT Msk 开启了中断 不论系统时钟为72Mhz或36Mhz若设置STM32每10us进入一次中断
  • VINS-MONO运行(运行VINS-Mono没有轨迹的原因)

    VINS MONO下载及编译 与github中 https github com HKUST Aerial Robotics VINS Mono的一致 下载VINS MONO文件 cd catkin ws src git clone htt
  • gitkraken汉化

    想要汉化gitkraken xff0c 上链接 xff0c 下载解压 链接 xff1a https pan baidu com s 136cQzS7 SsIazhyF1IojsQ 提取码 xff1a 0lzb 01 双击运行install
  • 使用Ubuntu系统运行C或C++程序

    查找Ubuntu系统是否有gcc软件 xff0c 输入指令which gcc 查看gcc的版本 xff0c 输入gcc version 然后就可以确定系统自带gcc编译器了 gcc用来编译C xff0c g 43 43 用来编译C 43 4
  • Ubuntu删除文件和文件夹命令

    r表示向下递归删除 f表示直接强制删除 xff0c 没有任何提示 对于文件夹的删除一般用rm rf xff08 文件夹删除必须有r xff0c 递归删除 xff09 对于文件的删除一般用rm f xff08 其实rm本身就可以完成文件删除
  • slam十四讲中Sophus库安装以及遇到so3.h找不到文件的解决

    首先安装Sophus库 xff0c 首先说明一下 xff0c 我安装的是非模板类 xff0c 非模板类相对模板类更好上手 xff0c 且我下载的slam作者提供的sophus库压缩包也是非模板类 一 下载 git clone https g
  • 解决resource not found问题

    在运行ros中的xacro文件时出现的如下问题 resource not found mbot description ROS path 0 61 opt ros melodic share ros ROS path 1 61 opt ro
  • CV::mat 学习

    原文 xff1a http blog sina com cn s blog ac1864bd010188cm html opencv从c到c 43 43 Opencv2 0版本发布后 xff0c 其新的C 43 43 接口 xff0c cv
  • pcl::pointcloud和pcl::pointcloud::Ptr区别

    后者是指针类型的点云类 定义点云的格式 xff1a pcl PointCloudpcl PointXYZ Ptr cloud Ptr new pcl PointCloudpcl PointXYZ pcl PointCloudpcl Poin
  • ROS安装 rosdep update报错解决

    https blog csdn net leida wt article details 115120940 跟这个做 xff0c 注意正文中对第五个地址的补充gbpdistro url 61 https ghproxy com 43 gb
  • Jetson Xavier 通过jetson-io配置设备树 (9)

    1 在终端输入扩展40Pin配置脚本 sudo opt nvidia jetson io jetson io py 2 选择进入Configure 40 pin expansion header 3 空格选中spi1 或者其他需要的扩展功能
  • UCOSIII系统学习笔记

    说明 xff1a 本文主要讲针对STM32的UCOSIII3 03版本的文件与内核分析 此文只是对UCOSIII粗略的讲解 xff0c 希望读者在读完后能对UCOSIII系统整体多些认识 xff0c 细节方面还请读者参考相关书籍 xff0c
  • 汽车CAN总线详解

    概述 CAN xff08 Controller Area Network xff09 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 xff0c 它起初用于实现汽车内ECU之间可靠的通信 xff0c 后因其简单实用可靠等
  • microchip pm42100-kit调试记录

    1 先给板子上电 xff0c 2 安装chiplink 新安装的是连接不上串口的 通过Help gt 帮助目录 xff0c 安装 nbm文件 加载 nbm文件 Tools gt Plugins gt Downloaded gt Add Pl
  • nvidia orin简介

    NVIDIA发布的Xavier已经在市场上打拼了好几年了 xff0c 同行竞争者一直在追赶 力图超越 xff0c Xavier也在应用中出现了一些问题 xff0c NVIDIA也该把Orin这个新武器揭开面纱了 虽然去年的GTC上有一些信息
  • PCI-E 1x, 4x, 8x, 16x 接口定义

    1 PCI E插槽及金手指实物图 xff08 1 xff09 PCI E插槽 从上至下依次为PCI E 4X PCI E 16X PCI E 1X xff08 2 xff09 PCI E金手指 PCI E 1X金手指 PCI E 4X金手指
  • Jetson Xavier RC EP 的PCIe互通测试(12)

    一 硬件连接 xff1a 交叉线 X16引脚定义 xff1a 从此面看 xff1a 从上到下 xff0c 依次为A1 A2 A3 从背面看 xff1a 从上到下 xff0c 依次为B1 B2 B3 注意断开 xff1a A2 A3 B1 B
  • 将自己的ubuntu20.04做成镜像

    系统 xff1a Ubuntu20 04 软件 xff1a systemback 硬件 xff1a 128GU盘一个 1 安装systemback sudo sh c 39 echo 34 deb arch 61 amd64 http mi

随机推荐

  • Orin + SC16IS752+SP3072 SPI转串口485

    文章目录 1 前言 2 修改过程 2 1 sc16is752 芯片 2 1 1引脚说明 2 1 2 设备树配置 2 2 1 源码分析 3 调试 1 前言 Orin 有四路串口 对于多数设备来说已经够用 通过SPI 转串口再转RS485在Or
  • MIPI CSI介绍

    文章目录 1 概述2 MIPI接口的演变2 1 CSI 12 2 CSI 22 3 CSI 32 4 更多关于CSI 3 其他3 1 为什么用MIPI CSI 2代替USB 3 2 MIPI CSI 2的性能亮点3 3 MIPI相机 它是如
  • 车载摄像头概述

    1 车载摄像头概述 SerDes环境 上边的摄像头是德国豪车配备的车载摄像头 我们是从国外网站上买的 为了选择车载摄像头 xff0c 你需要获得关于它的各种信息 首先 xff0c 您需要获取连接器和序列化器制造商名称的信息 xff0c 然后
  • ARM7的三级流水线过程

    看到汇编中很多关于程序返回与中断返回时处理地址都很特别 xff0c 仔细想想原来是流水线作用的效果 所以 xff0c 决定总结学习下ARM流水线 ARM7处理器采用3级流水线来增加处理器指令流的速度 xff0c 能提供0 9MIPS MHz
  • nor flash和nand flash的区别

    NOR 和 NAND 是现在市场上两种主要的非易失闪存技术 Intel 于 1988 年首先开发出 NOR flash 技术 xff0c 彻底改变了原先由 EPROM 和 EEPROM 一统天下的局面 紧接着 xff0c 1989 年 xf
  • UART通信协议

    UART 是用于控制计算机与串行设备的芯片 有一点要注意的是 xff0c 它提供了RS 232C 数据终端设备接口 xff0c 这样计算机就可以和调制解调器或其它使用RS 232C接口的串行设备通信了 作为接口的一部分 xff0c UART
  • stm32f103的IAP升级时,部分APP程序功能丢失,串口中断不起作用,怎么办?

    昨天我用stm32f103做IAP升级 xff0c APP程序是一个LED闪烁和一个串口1收发数据 结果IAP升级后 xff0c 发现APP程序只有LED闪烁但是串口1不行甚至引起死机 这种半死不活的现象是最莫名其妙的 xff0c 它一半在
  • 计算机的启动过程(详细)

    零 boot的含义 先问一个问题 xff0c 启动 用英语怎么说 xff1f 回答是boot 可是 xff0c boot原来的意思是靴子 xff0c 启动 与靴子有什么关系呢 xff1f 原来 xff0c 这里的boot是bootstrap
  • 史上最全Linux面试题(2020最新版)

    出处 xff1a https blog csdn net thinkwon article details 104588679 作者 xff1a ThinkWon 导读 xff1a 本文整理了最新的Linux面试题 xff0c 近3万字 x
  • Endnote中文参考文献格式下载地址(官网)

    Endnote中文参考文献格式官网下载地址 1 下载2 安装 1 下载 今天在写中文论文时 xff0c 发现Endnote里没有中文参考文献格式 上网找了一下有些下载尽然还要币 xff0c 最后看到其实官网里就有GBT7114格式 xff1
  • C++中String类对象的初始化和基本用法

    1 初始化的几种方法和错误案例 首先当然是包含头文件了 xff1a span class token macro property span class token directive keyword include span span c
  • C++中multimap和map容器及使用

    map multimap容器里存放的都是pair模板类的对象 xff0c 而且按照first成员从小到大排序 1 pair模板 pair模板类的定义如下 xff0c 其中有两个成员变量 xff1a first和second xff1a 2
  • Word标题前出现黑块解决办法

    最近Word写文章 xff0c 再次遇到了让人头疼的问题 xff0c 就是自己定义的多级列表 xff0c 某一级前面不显示数字而是一个黑块 之前就遇到过这个问题 xff0c 不知怎么就解决了 再次遇到就懵了 尝试了网上的几种方法 xff0c
  • 从印象笔记无法连接到服务器,到win 10 Eage浏览器无法访问

    昨天电脑上的印象笔记突然无法同步 xff0c 同步的图标上显示了红色的感叹号 按照网上很多的解决方法试了之后都无法解决 印象笔记也重新安装了 xff0c 也退出企图重新登录 xff0c 结果登录界面显示无法连接到服务器 按照官网给出的解决方
  • Crazyflie笔记一:概述开发范围、工具、特点介绍

    原文地址 xff1a http blog sina com cn s blog 402c071e0102v6ho html Crazyflie笔记一 xff1a 概述开发范围 工具 特点介绍 2015 01 04 12 48 31 转载 标
  • Ubuntu16.04如何设置自动休眠时间

    可能有的人觉得 xff0c 虚拟机几分钟没动就自己锁住了 xff0c 再次进入又要输密码非常麻烦 xff0c 那如何设置屏幕关闭时间呢 xff1f 下面就说一说 xff1a 1 打开设置选项 xff0c 在电脑的右上方 2 点击system
  • PX4使用I2C方式添加自定义传感器(1)

    PX4使用I2C方式添加自定义传感器 xff08 1 xff09 前言 毕业设计就是要在PX4上添加一个传感器 xff08 角度传感器 xff09 xff0c 由于板子上的接口数量很少 xff0c 很是宝贵 最后只能选择通过I2C通信方式
  • PX4通过I2C方式添加自定义传感器(2)

    PX4 I2C通信方式传感器驱动分析 xff08 以ets airspeed为例 xff09 1 说明 这篇文章我们就来看看I2C传感器的驱动过程 xff0c 当然里面也有很多东西我不是很理解 xff0c 所以仅谈我领悟的一些东西 我就以e
  • PX4通过I2C方式添加自定义传感器(3)

    添加自定义传感器并实现数据的发送和订阅 1 前期准备 1 1 建立文件夹和相关文件配置 我是在src drivers distance sensor文件夹下操作的 xff0c 当然其他文件夹下都类似 首先建立了两个文件夹angle sour
  • Matlab 同一文件夹下图片批量处理的两种简单方法

    Matlab 同一文件夹下图片批量处理的两种简单方法 最近因为实验中有许多图片需要处理 xff0c 本来的做法是一张张读取图片 xff0c 这是相当麻烦的 xff0c 因为每处理一张图片就需要修改相应的图片名 于是就想着要是可以批量处理就好