单击图像 1 次,获取位置并销毁 window OpenCv

Click image 1 time, get position and destroy window OpenCv

有没有一种简单的方法可以使用 OpenCv 打开图像,并保持打开状态直到它被单击,然后 return 像素坐标并销毁图像,几乎就像使用 WaitKey() 和 return,然后点击触发?

这应该可以满足您的要求:

#!/usr/bin/env python3

import cv2
import numpy as np

def onClick(event,x,y,flags,param):
    """Called whenever user left clicks"""
    global Running
    if event == cv2.EVENT_LBUTTONDOWN:
        print(f'I saw you click at {x},{y}')
        Running = False

# Create window
wname = "Funky Image"
cv2.namedWindow(winname=wname)
cv2.setMouseCallback(wname, onClick)

# Load an image
img = cv2.imread('image.jpg')

Running = True
while Running:

    cv2.imshow(wname,img)
    cv2.waitKey(1)

cv2.destroyAllWindows()