【OPEN CV+Python】色抽出したい物体の色情報をマウスで取得する
1. 目的
色抽出を行う上で、HSV変換を利用して対象物体のH(色相)の範囲を指定する必要がある。
そんためには、対象物体のH(色相)の情報を事前に調べておく必要がある。
そこで、OPEN CVのマウス関数を使って、H(色相)を調べるプログラムをつくってみた
2.やってみる
ポイント
・HSV変換した画像データ(HSV)をglobal変数として定義する。
これにより、マウス関数でも参照することができる
・マウス関数は、コールバック関数でWhile文の前に定義しておく
import cv2 import numpy as np def mouse_event(event, x, y,flags, param): if event == cv2.EVENT_LBUTTONUP: print('H:{0}, S:{1}, V:{2}'.format(hsv[y,x,0],hsv[y,x,1],hsv[y,x,2])) def main(): global hsv img = cv2.imread("input.jpg") hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) cv2.namedWindow("input",cv2.WINDOW_NORMAL) cv2.setMouseCallback("input", mouse_event) while(1): cv2.imshow("input",img) if cv2.waitKey(1) & 0xFF == ord("q"):#input kybord "q" break cv2.destroyAllWindows()
3.結果