Обработчик окна NULL в функции 'cvSetMouseCallback' - PullRequest
1 голос
/ 08 июля 2020

Я работаю над проектом, в котором мне нужно использовать Mouse в качестве Paintbru sh. Я использовал функцию cv2.setMouseCallback(), но она вернула следующую ошибку. вот часть моего кода

import cv2
import numpy as np

# mouse callback function
def draw_circle(event,x,y,flags,param):
    if event == cv2.EVENT_LBUTTONDBLCLK:
        cv2.circle(img,(x,y),100,(255,0,0),-1)

# Create a black image, a window and bind the function to window
img = np.zeros((512,512,3), np.uint8)
cv2.namedWindow('image')
cv2.setMouseCallback('image',draw_circle)

while(1):
    cv2.imshow('image',img)
    if cv2.waitKey(20) & 0xFF == 27:
        break
cv2.destroyAllWindows()

, когда я запускаю это, он вернул мне следующую ошибку: error Traceback

(most recent call last)
<ipython-input-1-640e54baca5f> in <module>
     10 img = np.zeros((512,512,3), np.uint8)
     11 cv2.namedWindow('image')
---> 12 cv2.setMouseCallback('image',draw_circle)
     13 
     14 while(1):

error: OpenCV(4.3.0) /io/opencv/modules/highgui/src/window_QT.cpp:717: error: (-27:Null pointer) NULL window handler in function 'cvSetMouseCallback'

Моя python версия - 3.8 Операционная система - ubuntu 20

Ответы [ 2 ]

3 голосов
/ 09 июля 2020

Ошибка устранена. Я удалил ранее установленный OpenCV

(который устанавливается с помощью pip pip install opencv-python) и переустановил его, используя

sudo apt install libopencv-dev python3-opencv

0 голосов
/ 02 сентября 2020

у меня тоже работал с установками pip3. Просто создал виртуальный env fre sh и установил opencv- python и opencv-contrib- python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...