看看这个函数:
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
它应该显示一个图像,并打印鼠标点击位置的像素。但由于某种原因,回调没有被触发。我该如何让这段代码工作呢?
2条答案
按热度按时间e3bfsja21#
要使
setMouseCallback
正常工作,您需要首先创建window对象。这可以通过在设置鼠标回调之前调用
imshow
来实现,也可以通过使用cv2.namedWindow()创建回调来实现g2ieeal72#
@您可以尝试以下代码