これが私の問題です:
画像を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を使用しており、すべての画像は.pngです。
EDIT2現在のピクセルの色を実際に調べることを除いて、すべてが機能しています。現在私はこれを使用しています:
int blue = ((uchar *)(img->imageData + pixelX*img->widthStep))[pixelY*img->nChannels + 0];
しかし、それは機能しません、そして私はそれがどのように機能するのか分かりません。私はこれについて私が理解できることを何も見つけることができませんでした。特定のピクセルのRGB値を見つける方法について誰かが私を正しい方向に向けることができますか?
Edit3完了!これが同様のことをしようとしていることに気付いた人は、私の残りの質問のほとんどとかなりのコードをここで見つけることができます。助けてくれてありがとう!