0

我想逐像素读取图像并存储每个像素值有多少(灰度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 个位置的数组?

4

2 回答 2

2

您可以使用hist. 无需使用循环:

img = imread('jetplaneCor.jpg');
imgGray = rgb2gray(img);
grayArray = hist(imgGray(:),0:255);
于 2013-09-29T23:28:10.480 回答
0

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

grayArray = zeroes(1, 256);

您可以通过以下方式引用每个元素:

grayArray(1, index);
于 2013-09-29T23:29:03.363 回答