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

问题描述 投票:1回答:1

有没有一种简单的方法可以使用OpenCv打开图像,并保持其打开状态直到被单击,然后返回像素坐标并销毁图像,就像使用WaitKey()一样,只是带有返回键,然后单击作为触发器?

python image opencv click coordinates
1个回答
2
投票

这应该做您想要的:

#!/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
© www.soinside.com 2019 - 2024. All rights reserved.