CIFAR10数据集 matlab可视化及理解

CIFAR10数据集共有matlab、python、及C语言三种类型的数据集,我下载的是matlab版本,下载完之后显示的是矩阵集合形式而非图片的形式,在网络上搜寻方法并理解代码如下:

load(['yourpath']);
for i = 1:size(data,1);
    p = data(i,:);
    label = labels(i);

    %数据是以一行的形式存在,每一行都是一张图片,作reshape转换成32*32的形式
    fig=zeros(32,32,3);
    fig(:,:,1)=reshape(p(1:1024),32,32)';
    fig(:,:,2)=reshape(p(1025:2048),32,32)';
    fig(:,:,3)=reshape(p(2049:end),32,32)';

    %转化成图片形式并存储         
    imwrite(fig/256,['batch_label_' num2str(label) '_' num2str(i)  '.png']);
end

CIFAR10数据集共有5个train_batch及一个test_batch,每个batch是10000*3072大小,也就是说每个bacth共含有10000张图片,每张照片存储为一行即3072大小,这3072是三个通道总和,所以每个通道是3072/3=1024个像素,即1024=32*32大小。

这是CIFAR10可视化的部分截图
CIFAR10可视化部分截图

其实我有个问题没有想清楚:可视化后存储下来的图片每张结尾应该为i值,为何不是连续值而是跳值呢?
欢迎交流

猜你喜欢

转载自blog.csdn.net/qq_23590921/article/details/78176927