MacOSでOpenCV 3を使用していますが、すべて画像のピクセルのRGB値を取得しようとしています。 I画像におけるユーザのクリックを検出してX、Y座標を用いてRGB色を出力するプログラムを作った正しいピクセルカラー画像を得ることができませんpython
:
例えば、私は、次の画像を使用していクリックの回数は増えましたが、サークルの一部の地域をクリックしたときに間違った値が表示されていました。例:青い円の内側をクリックすると、画像のポイント(177,340)で、値(255,255,255)が出力されますが、これは間違いです。
しかし、右または左にビットをクリックすると、正しい値(17、51、225)が出力されます。
import cv2
import numpy as np
img = cv2.imread('circles.jpg', 1)
print(img[177,340])
:これは、私はそれがスケールに関連するものだった疑った、そして私はただのpython上の画像を開き、次のコードを使用してピクセルの値を得た
、画像全体のために起こりますしかし、私が得るのはこれです:
array([255, 255, 255], dtype=uint8)
私が気づいていない座標系に関係するものと思われます。誰かがそれについて私に手を差し伸べることができますか?
ありがとうございます。
OpenCVでは、Xは左から始まり、Yは上から始まることに注意してください。 – Divakar
RGB値はimg [row、col]、行は上から下、colは左から右に移動します。しかし、イメージ上でマウスクリックを登録すると、それは(x、y)ポイントです.xは左から右に、yは上から下に移動します。行と列のどちらか、またはxとyのどちらかを交換すると、ものを修正する必要があります。 – Headcrab
実際に実物の写真とは対照的に、実在の写真の形をアプリケーションで使用している場合は、JPEGではなくPNGまたはGIF形式を使用することを検討してください。 –