未触发 opencv 鼠标回调
opencv mouse callback isn't being triggered
看看这个函数:
def showImage(im):
def printColor(event, x, y, flag, params):
if event == cv2.EVENT_LBUTTONDOWN:
print(im[x,y])
sys.exit(1)
tag = "image"
cv2.setMouseCallback(tag, printColor)
cv2.imshow(tag, im)
while True:
if 'q' == chr(cv2.waitKey() & 255):
cv2.destroyAllWindows()
break
它应该显示图像并在单击时打印鼠标位置的像素。但由于某种原因,回调没有被触发。我怎样才能让这段代码工作?
要使 setMouseCallback
正常工作,您需要先创建 window 对象。
这可以通过在设置鼠标回调之前调用 imshow
或使用 cv2.namedWindow()
创建它来完成
看看这个函数:
def showImage(im):
def printColor(event, x, y, flag, params):
if event == cv2.EVENT_LBUTTONDOWN:
print(im[x,y])
sys.exit(1)
tag = "image"
cv2.setMouseCallback(tag, printColor)
cv2.imshow(tag, im)
while True:
if 'q' == chr(cv2.waitKey() & 255):
cv2.destroyAllWindows()
break
它应该显示图像并在单击时打印鼠标位置的像素。但由于某种原因,回调没有被触发。我怎样才能让这段代码工作?
要使 setMouseCallback
正常工作,您需要先创建 window 对象。
这可以通过在设置鼠标回调之前调用 imshow
或使用 cv2.namedWindow()