Matlab将值存储在数组中

时间:2013-09-29 23:21:45

标签: arrays matlab

我想逐个像素地读取图像并存储每个像素值的数量(灰度0-255):

img = imread('jetplaneCor.jpg');
imgGray = rgb2gray(img);
sizex = size(imgGray,1);
sizey = size(imgGray,2);
grayArray = [0:0:255]; %Not working

for i=0:1:sizex
   for j=0:1:sizey
       pixelValue = imgGray(i,j);
       grayArray(pixelValue)=grayArray(pixelValue)+1;
   end
end

如何分配256个数组的数组?

2 个答案:

答案 0 :(得分:2)

您可以使用hist轻松完成此操作。无需使用循环:

img = imread('jetplaneCor.jpg');
imgGray = rgb2gray(img);
grayArray = hist(imgGray(:),0:255);

答案 1 :(得分:0)

这将创建一个1 x 256数组,其中每个条目都是0

grayArray = zeroes(1, 256);

您可以使用以下内容引用每个元素:

grayArray(1, index);