mnist文件提取成bmp(matlab代码)

来源:互联网 发布:负反馈放大器实验数据 编辑:程序博客网 时间:2024/06/02 03:57

因为要写模式识别的大作业,用fisher线性判别函数来识别数字
首先得用到手写体的数据
经过长时间绝望的百度搜索之后
首先找到了

mnist手写体的未处理原始格式

ps:就是四个.gz的压缩包,下载之后解压缩变成
这四个文件
附上下载地址http://yann.lecun.com/exdb/mnist/
然后就是绝望的寻找将这些文件转换成bmp格式,很多人的博客有用python的,有用c++,matlab的,最后总是这里有问题哪里有问题的,最后脑袋瓜子灵机一动会不会有人用.mat的文件呢
黄天不负有心人在http://www.cs.nyu.edu/~roweis/data.html找到mat格式的,加上某位大神的如下的代码你就可以在你的g盘里面找到自己的文件了,当然路径部分你可以自己改一下
哦,对了,你得把下载好的文件放在matlab对应的文件下,或者添加文件的路径
附上图,额里面就有很多网上其他用来读取mnist文件的代码可惜不知道是不会用还是就是代码不行要保存在matlab那个路径下

load('mnist_all.mat');type = 'train';savePath = 'G:\data\mnist\train\';for num = 0:1:9    numStr = num2str(num);    tempNumPath = strcat(savePath, numStr);    mkdir(tempNumPath);    tempNumPath = strcat(tempNumPath,'\');    tempName = [type, numStr];    tempFile = eval(tempName);    [height, width]  = size(tempFile);    for r = 1:1:height        tempImg = reshape(tempFile(r,:),28,28)';        tempImgPath = strcat(tempNumPath,num2str(r-1));        tempImgPath = strcat(tempImgPath,'.bmp');        imwrite(tempImg,tempImgPath);    endend

“`

运行后的结果
加油毕竟这只是第一步,还想提醒大家一点,很多博客都是抄过来,这都忍了,可是都不写怎么使用的。

原创粉丝点击