matlab遍历文件制作自己的数据集 .mat文件
原文作者:aircraft
原文地址:https://www.cnblogs.com/DOMLX/p/9115788.html
看到深度学习里面的教学动不动就是拿MNIST数据集,或者是IMGPACK数据集来教学,这些都是已经制作好的数据集,我们大家肯定都很疑惑怎么制作自己的数据集呢?
接下来我就自己制作了一个数据集,图片3600张,每张的高宽分别为240-320
获取根目录下所有子文件夹:
PathRoot = 'F:\process\master\100';
list = dir(PathRoot);
获取在下一层的所有子文件夹,因为我们的数据很多时候都是不在一个文件夹,或者是在一个大文件夹中的很多小文件中,所以这时候就需要多重遍历,一层,一层的遍历下去,拿到我们想要的所有数据
至于这里为什么是 3 开始? 这是因为dir()函数会将 文件夹的 . 和 .. 路径。
估计你们不懂(dir()函数会将 文件夹的 . 和 .. 路径。)我这什么意思,简单。直接打印一下出来看看就知道了。 打印 list(1).name list(2).name 打印完看看输出 你们就知道我的意思了
for i = :fileNums
subList = dir([PathRoot '\' list(i).name]);
end
好了接下来把所有代码给出:
下面就是遍历一个F:\process\finger_vein-master\db100\098\left 这样的路径,数据都在db100 里面的每一个小文件夹(001-002-003)中的left 和 right 中
这里用matlab 三重遍历文件提取数据
最后全部保存在 imgPack中
在用 save 的函数 将数据集保存成 .mat 文件
PathRoot = 'F:\process\master\100';
num = ; list = dir(PathRoot);
fileNums = size(list);
imgPack = zeros(,,);
for i = :fileNums
subList = dir([PathRoot '\' list(i).name]);
for j =:size(subList)
lastList = dir([PathRoot '\' list(i).name '\' subList(j).name]);
for k = :size(lastList)
path = [PathRoot '\' list(i).name '\' subList(j).name '\' lastList(k).name];
image = imread(path);
grayImg = rgb2gray(image);
imgPack(:,:,num) = grayImg;
num = num + ;
end
end
end
save imgPack imgPack;
若有兴趣交流分享技术,可关注本人公众号,里面会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识
matlab遍历文件制作自己的数据集 .mat文件的更多相关文章
- matlab结构体形式保存数据生成.mat文件< 转>
2015年 参加天池大数据竞赛 为了建立模型,打算基于matlab使用Random Forest Algorithm的工具包 该工具包我在此分享给大家,http://yunpan.cn/cVX ...
- MATLAB将批量的图片保存为mat文件
clc; clear all; num = 10; for i = 1 : num IM = imread(sprintf('E:\\TEST\\PtzTEST2015-8-9\\image1280x ...
- matlab实现一次性实现多个文件夹图片转化为.mat文件
%这里是主函数:命名为readImg.m; clc;clear; %---read_image; filepath = 'G:\人脸重建\data\src_all\';%图片路径可以根据自己需要修改; ...
- 利用Python读取Matlab的Mat文件内容
手头有别人写的Matlab程序,其中用到了Mat文件.现在不想安装Matlab,却又想读取Mat文件内容,该怎么办呢? 感谢scipy!!! import scipy.io data = scipy. ...
- Matlab与外部接口:MAT文件基础
MAT 文件MAT文件是MATLAB使用的一种特有的二进制数据文件.MAT文件可以包含一个或者多个MATLAB 变量.MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里,在MAT文件中不仅保存 ...
- MATLAB中批量导入.mat文件(每个文件多变量)
一.新建MATLAB script(.m文件):readall_mat.m 二.代码如下: function data = readall_mat(path) % READALL_MAT 读取所有文件 ...
- MATLAB实例:将批量的图片保存为.mat文件
MATLAB实例:将批量的图片保存为.mat文件 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.彩色图片 图片数据:horse.rar 1. MA ...
- Matlab+Qt开发笔记(二):Qt打开mat文件显示读取的数据
前言 介绍了基础环境,最终是为了读取显示.mat文件,本篇读取mat文件并显示. 补充 测试的mat文件是double类型的. Matlab库数据类型 变量类型:matError,错误变量 ...
- matlab中mat文件简单存/取
>>abc=[,,,,,]; >>save data save file_name:命令可以将当前项目中变量的值保存到file_name中去,这里的data文件就是mat文件. ...
随机推荐
- ElasticSearch 笔记(一)
一.Elasticsearch 印象 分布式.全文检索.数据分析. 二.为什么不用传统关系型数据库,如 MySQL,做搜索 举个反例.假设有以下数据库表 t_game: id name 1 唐僧取 ...
- Android Butterknife框架 注解攻略
一.原理. 最近发现一个很好用的开源框架,蛮不错的,可以简化你的代码,是关于注解的.不多说直接进入使用步骤讲解. 二.步骤. 1.准备阶段,先到官网( http://jakewharton.githu ...
- easyui datagrid deleteRow(删除行)的BUG
有时候想临时保存一些数据,等确定好后在批量一次提交,但EasyUI datagrid 用的时候添加可以正常,如果从中间删除那行号就全乱了.导致删除的时候有可能删除上一行数据. function ad ...
- 【SQL】- 基础知识梳理(五) - 触发器
触发器的概念 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程 触发器的语法 create trigger tgr_name on table_name with encrypion –加 ...
- SOA IN Real World
微软发布了一个名为“真实世界里的面向服务架构(SOA)”的电子书.这本书表达了微软对面向服务架构的观点,并包括了数个展示如何用微软产品和技术实现SOA的真实案例.书中解释到,SOA的功能型架构本身是松 ...
- 生成MySql数据库的数据字典代码参考
Code: /** * 生成mysql数据字典 */ //配置数据库 $dbserver = "127.0.0.1"; $dbusername = "root" ...
- P - 区间与其他数互质数的个数 HDU - 4777
Rabbit Kingdom Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- docker系列 参考文章
Docker 系列一(概念原理和安装) Docker 系列二(操作镜像) Docker 系列三(容器管理) 持续更新... ubuntu 安装docker 参考文章 :(https://blog.cs ...
- 已经上架的app在AppStore上搜不到的解决办法
1.问题呈现 相信很多人都遇到过这个问题,天天刷iTunes connect,终于发现app已经上架了,兴奋的跑过去告诉老板,老板说好,大家都装一个吧! 这时候只能一边不慌不忙地甩锅给苹果,一边快马加 ...
- Django的文件上传以及预览、存储
思路: 文件上传通过前端的input标签,input设置display:none属性. 内容显示需要让前端通过<img>标签读取图片内容,可以通过<label>标签连接< ...