• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OpenCV での画素値の比較について)

OpenCVでの画素値の比較について

このQ&Aのポイント
  • OpenCVを使用して、2つの画像のピクセルごとの色の比較を行い、結果を表示するコードを作成しています。
  • 画像img1とimg2の色をピクセルごとに比較し、同じ色のピクセルは白、違う色のピクセルは黒に変換して、3枚目の画像img3を生成します。
  • しかし、img3には予期しない表示がされるため、ピクセルの参照方法に問題があるかもしれません。解決策をお知りの方はアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

書き写したのでしょうか、このプログラムにはいろいろ間違いが多くてそのままでは動かなかったですが、文法間違いを直したら、白地に黒で文字が浮びましたよ。 それぞれの画像サイズは同じ100x100ですか? > //一枚目の画素値 > p1[0] = img1->imageData[img->widthStep * y + x * 3]; // B > p1[1] = img1->imageData[img->widthStep * y + x * 3 + 1]; // G > p1[2] = img1->imageData[img->widthStep * y + x * 3 + 2]; // R > //二枚目の画素値 > p2[0] = img2->imageData[img->widthStep * y + x * 3]; // B > p2[1] = img2->imageData[img->widthStep * y + x * 3 + 1]; // G > p2[2] = img2->imageData[img->widthStep * y + x * 3 + 2]; // R となってますけど、それぞれ p1[0] = img1->imageData[img1->widthStep * y + x * 3]; // B p2[0] = img2->imageData[img2->widthStep * y + x * 3]; // B になってますか? img1,img2はちゃんと 8bit、3チャンネルになってますか?

rosafilipes
質問者

お礼

大変申し訳ありません、せっかくお返事いただいたのにお礼とクローズをしていませんでした。 アドバイスくださってすぐに画像を確認し、 念のため画像を入れ替えたところうまくいきました。 すぐに解決することができました、ありがとうございました。 重ねて、お礼が遅くなりましたことをお詫びいたします。

関連するQ&A

専門家に質問してみよう