%这里是主函数:命名为readImg.m;

clc;clear;
%---read_image;
filepath = 'G:\人脸重建\data\src_all\';%图片路径可以根据自己需要修改;
pic = '*jpg';%图片格式,根据自己的图片格式进行修改;
database = build_database_src(filepath,pic);

%build_database_src.m子函数;

function database = build_database_src(rt_data_dir,suffix)
fprintf('dir the database');
subfolders = dir(rt_data_dir);

database = []; database.imnum = ;
database.cname = {};
database.label = [];
database.path = [];
database.nclass = ;
label = ; k = ;
src_x = [];
src_y = []; for ii = : length(subfolders)
subname = subfolders(ii).name; if ~strcmp(subname,'.') & ~strcmp(subname,'..') database.nclass = database.nclass + ;
database.cname{database.nclass} = subname; frames = dir(fullfile(rt_data_dir,subname,suffix));
c_num = length(frames); database.imnum = database.imnum + c_num;
database.label = [database.label;ones(c_num,) * database.nclass]; label = numel(database.cname); for jj = : c_num
fprintf('folder : %d , num : %d \n',ii - ,jj); kk1 = frames(jj).name;%显示具体图片名;
c_path = fullfile(rt_data_dir,subname,frames(jj).name);
database.path = [database.path,c_path];
img = imread(database.path);%读取图片;
im = imresize(img,[,]);%设置图片大小; if(length(size(im)) == )%如果是彩色图进行灰度化(根据个人需要);
gray = rgb2gray(im);
else
gray = im;
end gray = double(gray) / ;%对图片数据做归一化(根据个人需要);
database.path = []; src_x(:,:,k) = gray;%存储图像数据;
src_y(,k) = label;%给数据加标签;
k = k + ;
end
end end %保存转化好的.mat文件;
file = ['src_x.mat'];
save(file,'src_x','-mat');
file = ['src_y.mat'];
save(file,'src_y','-mat'); end

我的路径:G:\人脸重建\data\src_all。运行程序可以看到生成两个.mat文件。

参考:https://blog.csdn.net/yongjiankuang/article/details/72824081

matlab实现一次性实现多个文件夹图片转化为.mat文件的更多相关文章

  1. MATLAB读取一个文件夹下的多个子文件夹中的多个指定格式的文件

    MATLAB需要读取一个文件夹下的多个子文件夹中的指定格式文件,这里以读取*.JPG格式的文件为例 1.首先确定包含多个子文件夹的总文件夹 maindir = 'C:\Temp Folder'; 2. ...

  2. matlab从文件夹名中获得该文件夹下所图像文件名

    function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...

  3. matlab遍历文件制作自己的数据集 .mat文件

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9115788.html 看到深度学习里面的教学动不动就是拿MNIST数据集,或者是IMGPACK ...

  4. 用字符流实现每个文件夹中创建包含所有文件信息的readme.txt

    package com.readme; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; i ...

  5. 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)

    说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...

  6. META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗

    今天有人问到 META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗,还有项目的META-INF下面一般会有个MANIFEST.MF 文件,都是干啥的. 百度搜了 ...

  7. iOS-iOS 获取蓝色文件夹图片

    Xcode创建的iOS项目内存在两种文件夹:Group(黄色, 伪文件夹) 和Folder(蓝色, 真文件夹): Group: Folder: Images.xcassets或Group文件夹内的PN ...

  8. android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

    简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件. 1.下载工具 xstr ...

  9. Web 在线文件管理器学习笔记与总结(15)剪切文件夹 (16)删除文件夹

    (15)剪切文件夹 ① 通过rename($oldname,$newname) 函数实现剪切文件夹的操作 ② 需要检测目标文件夹是否存在,如果存在还要检测目标目录中是否存在同名文件夹,如果不存在则剪切 ...

随机推荐

  1. 正则表达式r和re

    # coding:utf-8 import re print 'a\ws' print r'a\nb' # r'': 一般用在正则表达式中,称为原始字符串,作用是将Python语法中的反斜杠转义给 取 ...

  2. 一些关于Hibernate延迟加载的误区

    最近面试别人,正好出的笔试题中有道关于Hibernate延迟加载的问题,聊天过程中发现很多人对Hibernate的延迟加载有些理解误区,写 些东东在这里,希望对大家有所帮助. 首先是第一个误区:延迟加 ...

  3. 现代软件工程HW1:词频统计

    作业详细要求:http://www.cnblogs.com/denghp83/p/8627840.html 基本功能 1. 统计文件的字符数(只需要统计Ascii码,汉字不用考虑,换行符不用考虑,'\ ...

  4. curl http_code 状态码

    1.只得到一个url的http_code的状态码 curl -I -m 10 -o /dev/null -s -w %{http_code} http://127.0.0.1/a.html 查询hea ...

  5. Entity Framework Code First 模式-建立多对多联系

    Entity Framework 在建立多对多的联系时,会生成一个中间表,用来表示这个多对多的关系.这和数据库设计时从概念模型到逻辑模型转化时,多对多的关系不能和任何一端的实体合并,需要将关系也转化为 ...

  6. Django流程

    开始具体的代码之旅前,先来宏观地看下Django是如何处理Http Resquest的,如下图: 假设你已经在浏览器输入了 http://127.0.0.1:8000/polls/,接下来浏览器会把请 ...

  7. 两个datagrid的数据移动(支持多选)

    1.需求 :点击卸车和撤销按钮可以实现 1和2 之间数据的移动(支持多选) 2. 代码 (这里只写一个撤销的功能) //撤销按钮 function moveOut() { var item = $(' ...

  8. Nodejs之路(二)—— Nodejs再入门

    一.在Node中使用模板引擎 js代码: // art-template不仅可以在浏览器使用,也可以在node中使用 // 1.安装 npm install art-temlate模板引擎 // 2. ...

  9. ssh 免密码登入

    1.普通免密码登入 (1)  生成秘钥 [root@vick ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter f ...

  10. P1080(python 高精度)

    https://www.luogu.org/problem/P1080 n=int(input()) s=input().split() S=int(s[0]) T=int(s[1]) a=[] fo ...