這裏是我的問題:C++,如何加載圖像和計數的特定顏色的像素
我正在尋找一種方式來將圖像導入C++然後遍歷它的像素,每次遞增計數器的像素髮現某種顏色。
我已經做了一些研究,但是我沒有發現任何特別有用的東西。 DevIL看起來不錯,但我不確定從哪裏開始。
這裏有一個位的C++/Python的僞代碼說明希望我想要做的事:
for image in folder:
A = 0;
B = 0;
for pixel in image:
if (pixel == colourA) {A++}
if (pixel == colourB) {B++}
//Output the count of colours for each image
outputToFile(A, B);
沒有人有哪裏開始一些建議嗎?
感謝
編輯 一些額外的信息:我使用的是Windows 7和所有的圖像都.pngs
EDIT2 我就擁有了一切工作,但實際上找出當前的顏色像素。目前我使用的是:
int blue = ((uchar *)(img->imageData + pixelX*img->widthStep))[pixelY*img->nChannels + 0];
但它不起作用,我不知道它是如何工作的。我一直無法找到任何我能理解的事情。任何人都可以指出我如何找到某個像素的RGB值的正確方向?
編輯3 完成!對於任何想要做類似事情的人來說,大部分剩餘的問題和相當一部分代碼可以在here找到。謝謝您的幫助!
您正在嘗試計算(部分)直方圖。你的平均圖形庫應該能夠爲你做到這一點(imagemagick,至少)。 – Seth 2010-10-01 00:47:52