看看这个功能:
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
应该显示图像并在单击时在鼠标位置打印像素。但是由于某种原因,回调没有被触发。如何使此代码正常工作?
答案 0 :(得分:1)
要使setMouseCallback
工作,您首先需要创建窗口对象。
这可以通过在设置鼠标回调之前调用imshow
或使用cv2.namedWindow()创建它来完成