обратный вызов мыши opencv не запускается - PullRequest
0 голосов
/ 23 октября 2018

Посмотрите на эту функцию:

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

Она должна отображать изображение и печатать пиксель в позиции мыши при нажатии.Но по какой-то причине обратный вызов не запускается.Как я могу заставить этот код работать?

1 Ответ

0 голосов
/ 23 октября 2018

Чтобы setMouseCallback заработал, вам нужно сначала создать объект окна.

Это можно сделать, вызвав imshow перед установкой обратного вызова мыши, или создав его с помощью cv2.namedWindow.()

...