我有6000个角色的图像。我想创建一个包含所有图像的数组

时间:2016-03-04 11:00:17

标签: matlab

我想创建一个mat文件。通过它我可以训练我的神经网络进行OCR。我有6200张大小为30 * 30的图像。如何创建所有图像的数组。尺寸将为6200 * 30 * 30,然后想要将图像展开为6200 * 900。请帮助 目前能够读取文件但无法处理我的操作

2 个答案:

答案 0 :(得分:2)

我假设您在当前工作文件夹中以某种格式显示图像,并且所有图像都具有相同的尺寸。

另外,我假设您对黑白图像感兴趣(否则您将不得不考虑RGB场的三维尺寸)。

如果是这样,你可以简单地阅读它们并将它们存储在你的数组中:

首先以某种方式创建包含文件名的单元格:

fileName = {'image1.png';'image2.png'};

为图像矩阵分配空间:

h=30; w=30;
imagesArray = zeros(length(fileName),h,w);

在空矩阵中按顺序读取和存储图像:

for n=1:length(fileName)
    imagesArray(n,:,:) = imread(fileName{n});
end

最后你展开:

unroll = reshape(imagesArray,length(fileName),h*w);

答案 1 :(得分:0)

代码如下:

public static void main(String[] args) {
    // TODO Auto-generated method stub

    Scanner reader = new Scanner(System.in);

    System.out.print("Enter the strings > ");
    String s1 = new String(reader.nextLine());

    String[] str = s1.split(" ");

    for(int i=1;i<str.length;i++){

        System.out.println(Integer.parseInt(str[i]));
    }
}