我不知道,但也许这会有所帮助。
制作两个鼠标单击事件,LeftClick 和 Right Click。
在我的示例中,当我左键单击鼠标时,它会给出图像的像素坐标,当我右键单击鼠标时,它会从新加载图像。这有点像删除放置在那里的 cv2.putText 函数。
只需导入任何图像,我以 'lena_color.tiff' 为例。
import cv2
def click_event(event, x, y, flags, params):
global img
if event == cv2.EVENT_LBUTTONDOWN:
print(x, ' ', y)
font = cv2.FONT_HERSHEY_SIMPLEX; fontSize = 2
point = '.'; text = ' (' + str(x) + ', ' + str(y) + ')'
color = (255, 0, 0); thickness=6
cv2.putText(img, point, (x,y), font, fontSize, color, thickness)
cv2.putText(img, text, (x,y), font, 0.5, color, 1)
cv2.imshow('image', img)
if event==cv2.EVENT_RBUTTONDOWN:
img = cv2.imread('lena_color.tiff', 1)
cv2.imshow('image', img)
cv2.setMouseCallback('image', click_event)
img = cv2.imread('lena_color.tiff', 1)
cv2.imshow('image', img)
cv2.setMouseCallback('image', click_event)
cv2.waitKey(0)
cv2.destroyAllWindows()