【问题标题】:How can I find the size of an image?如何找到图像的大小?
【发布时间】:2018-09-30 07:56:13
【问题描述】:

我需要图像的大小作为变量。 这是我尝试过的:

 a = dir('C:\example\Desktop\imagefolder\*.png');
 numberofImages = length(a);
 %sizeofimage?
 matrix = zeros(numberofImages, sizeofimage);

如何获取图片的大小?

【问题讨论】:

    标签: image matlab image-processing matrix


    【解决方案1】:

    也许这会有所帮助。它将为您提供文件夹中每个图像的大小。

    a = dir('C:\example\Desktop\imagefolder\*.png');
    numberofImages = length(a);
    for i=1:numberofImages
        img = imread(a(i).name);
        sizeofImage{i} = size(img)
    end
    

    然后您可以使用此表示法访问图像的大小:

    sizeofImage{1}
    

    对于 400x400 的图像,这将返回类似的内容:

    ans = 
       400 400 3
    

    【讨论】:

    • 这仍然不能解决 OP 将 sizeofImage 放入 zeros 的问题,但我想他已经使用了我的答案。如果您的图像大小不同,OP 需要重写完整的代码,因为像他尝试使用的多维矩阵不能那样工作,他需要求助于单元格/结构。
    【解决方案2】:

    您需要一组数字才能进入zeros,而size 已经为您提供了一个。只需 horzcat 加上图片数量(或使用方括号)即可:

    matrix = zeros([numberofImages, size(image)]);
    

    尽管我强烈建议您停止从事您的项目并开始学习 MATLAB 课程,但请阅读有关它的书或 take the MathWorks own tutorial,因为这与 MATLAB 一样基本。由于 MATrix LABoratory 是关于矩阵的,size 很重要。

    【讨论】:

      猜你喜欢
      • 2021-01-17
      • 2013-07-23
      • 2015-04-14
      • 2020-03-12
      • 2011-02-12
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多