原文作者: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文件的更多相关文章

  1. matlab结构体形式保存数据生成.mat文件< 转>

    2015年 参加天池大数据竞赛     为了建立模型,打算基于matlab使用Random Forest Algorithm的工具包 该工具包我在此分享给大家,http://yunpan.cn/cVX ...

  2. MATLAB将批量的图片保存为mat文件

    clc; clear all; num = 10; for i = 1 : num IM = imread(sprintf('E:\\TEST\\PtzTEST2015-8-9\\image1280x ...

  3. matlab实现一次性实现多个文件夹图片转化为.mat文件

    %这里是主函数:命名为readImg.m; clc;clear; %---read_image; filepath = 'G:\人脸重建\data\src_all\';%图片路径可以根据自己需要修改; ...

  4. 利用Python读取Matlab的Mat文件内容

    手头有别人写的Matlab程序,其中用到了Mat文件.现在不想安装Matlab,却又想读取Mat文件内容,该怎么办呢? 感谢scipy!!! import scipy.io data = scipy. ...

  5. Matlab与外部接口:MAT文件基础

    MAT 文件MAT文件是MATLAB使用的一种特有的二进制数据文件.MAT文件可以包含一个或者多个MATLAB 变量.MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里,在MAT文件中不仅保存 ...

  6. MATLAB中批量导入.mat文件(每个文件多变量)

    一.新建MATLAB script(.m文件):readall_mat.m 二.代码如下: function data = readall_mat(path) % READALL_MAT 读取所有文件 ...

  7. MATLAB实例:将批量的图片保存为.mat文件

    MATLAB实例:将批量的图片保存为.mat文件 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.彩色图片 图片数据:horse.rar 1. MA ...

  8. Matlab+Qt开发笔记(二):Qt打开mat文件显示读取的数据

    前言   介绍了基础环境,最终是为了读取显示.mat文件,本篇读取mat文件并显示.   补充   测试的mat文件是double类型的. Matlab库数据类型 变量类型:matError,错误变量 ...

  9. matlab中mat文件简单存/取

    >>abc=[,,,,,]; >>save data save file_name:命令可以将当前项目中变量的值保存到file_name中去,这里的data文件就是mat文件. ...

随机推荐

  1. Ubuntu下vi编辑器不听话

    编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式: 并添加一句:set backspace=2 

  2. 余额宝 vs. P2P网贷,谁更有生命力?

    余额宝跟P2P网贷作为一个理财方式,要说谁更有生命力,那就必须从以下几个方面说起,一是收益性,二是风险性,三是流动性,下面从这几个方面来对比一下余额宝跟P2P网贷. 首先是收益性,作为投资理财者,第一 ...

  3. Highsoft.Highcharts 5.0.6439.38401 key

    Highcharts .NET allows developers to make charts using Highcharts API with the Microsoft .NET Framew ...

  4. EF 完成指定数据迁移

    Update-Database -ConfigurationTypeName Bmw.Services.DealerService.WebApiHost.MigrationsOfDealerDB.De ...

  5. 以太坊系列之十六:golang进行智能合约开发

    以太坊系列之十六: 使用golang与智能合约进行交互 以太坊系列之十六: 使用golang与智能合约进行交互 此例子的目录结构 token contract 智能合约的golang wrapper ...

  6. [原创]用WinRAR实现VC源代码快速压缩创建

    [原创]用WinRAR实现VC源代码快速压缩创建 by edata @ cnblogs.com/edata 2017-5-8 22:31:57 我们有的时候需要对vc项目压缩打包,因为vc项目的无关文 ...

  7. 【转】 spring context解惑

    转自:http://blog.csdn.net/c289054531/article/details/9196149?utm_source=tuicool&utm_medium=referra ...

  8. logging、hashlib、collections模块

    一.hashlib模块(加密模块) 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 , ...

  9. Linux管理命令

    管理命令 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage 组管理: groupadd, groupdel, ...

  10. C++中define与const的区别

    C++中不但可以用define定义常量还可以用const定义常量,它们的区别如下: 用#define MAX 255定义的常量是没有类型的,所给出的是一个立即数,编译器只是把所定义的常量值与所定义的常 ...