MNIST手写数字数据库原始下载地址:
yann.lecun.com/exdb/mnist/
0.前言
网上很多转换MNIST手写数字的程序,鲜有MATLAB能直接使用的数据库版本。
1.MATLAB元胞数组数据格式
两个文件:
Train.mat:内含元胞数组Train;Train{i,1}为图像文件,大小28*28像素(0~255);Train{i,2}为标签文件,为i对应图片的标签值(0~9);
Test.mat:内含元胞数组Test;Test{i,1}为图像文件,大小28*28像素(0~255);Test{i,2}为标签文件,为i对应图片的标签值(0~9);
2.转换过程
按照官方的二进制格式说明,扔掉文件的前面的说明部分直接读取数据部分。
2.1训练数据
function TT
fidimg=fopen('train-images.idx3-ubyte','rb')
fidla=fopen('train-labels.idx1-ubyte','rb')
[img,count]=fread(fidimg,16);
[label,count]=fread(fidla,8);
Train=cell(60000,2);
for i=1:1000:60000 i
[img,count]=fread(fidimg,[28,28]);
[label,count]=fread(fidla,1);
Train{i,1}=img;
Train{i,2}=label;
% na=[num2str(label),'-',num2str(i),'.jpg'];%
% imwrite(img,na)
end
% save Train.mat Train
end
2.2 测试数据
function TTest
fidimg=fopen('t10k-images.idx3-ubyte','rb')
fidla=fopen('t10k-labels.idx1-ubyte','rb')
[img,count]=fread(fidimg,16);
[label,count]=fread(fidla,8);
Test=cell(10000,2);
for i=1:1:10000
i
[img,count]=fread(fidimg,[28,28]);
[label,count]=fread(fidla,1);
Test{i,1}=img;
Test{i,2}=label;
end
save Test.mat Test
end
3.部分数据示例
4.数据集获取:
站内信,
留言邮箱,
+QQ群自取:1051208654
5.结束语
我是小白,
一个致力于Blender Python 智能化三维建模的Up主,
精通Matlab,会用Python,超级精通光学三维建模。
E-mail:AICV_Blender2024@163.com
QQ-群:Blender智能三维建模技术:1051208654