表示された画像から左クリックで選択した部分のHSV値を読み取り,右クリックしながらマウスを動かすと先に読み取ったHSV値を使ってピクセル書き込みするようにしているのですがうまくいきません.エラーから見るとおそらくhsv1=HSV[x,y]とHSV[x,y]=(hsv1)の部分が原因だと思われるのですがどうすればいいかわかりません.
該当のソースコード
import cv2 import numpy as np def onMouse(event, x, y, flags, params): global ix,iy,drawing if event == cv2.EVENT_LBUTTONDOWN: hsv1= HSV[x, y] print('h s v ='+str((hsv1))) elif event == cv2.EVENT_RBUTTONDOWN: ix=x iy=y elif event == cv2.EVENT_MOUSEMOVE: HSV[x,y]=(hsv1) elif event == cv2.EVENT_RBUTTONUP: None #画像処理 img = cv2.imread('c:/temp/light2.jpg') HSV = cv2.cvtColor(img,cv2.COLOR_BGR2HSV_FULL) cv2.imshow('sample', HSV) cv2.setMouseCallback('sample', onMouse) cv2.waitKey(0) cv2.destroyAllWindows() # ウィンドウを破棄
あなたの回答
tips
プレビュー