Нажмите на изображение 1 раз, получите позицию и уничтожьте окно OpenCv - PullRequest
1 голос
/ 17 апреля 2020

Есть ли простой способ открыть изображение, используя OpenCv, и держать его открытым до тех пор, пока оно не будет щелкнуто, затем вернуть пиксельную координату и уничтожить изображение, почти как при использовании WaitKey () только с возвратом, и щелкнуть как триггер?

1 Ответ

2 голосов
/ 17 апреля 2020

Это должно делать то, что вы хотите:

#!/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
...