Функция cv2.imshow() выдает ошибку подтверждения
Вышеуказанная ошибка сохраняется даже после обновления моей библиотеки opencv, а также удаления и переустановки несколько раз.
Любые другие советы, чтобы исправить эту ошибку?
Это мой исходный код, функция cv2.imshow() начала выдавать мне ошибку.
cap = cv2.VideoCapture(0)
while True:
_, frame = cap.read()
sobelx = cv2.Sobel(frame, cv2.CV_64F, 1, 0, ksize=5)
sobely = cv2.Sobel(frame, cv2.CV_64F, 0, 1, ksize=5)
cv2.imshow('frame', frame)
cv2.imshow('sobelx', sobelx)
cv2.imshow('sobely', sobely)
if cv2.waitKey(5) & 0xFF == 27:
break
cv2.destroyAllWindows()
cap.release()
Сообщение об ошибке, которое я получаю:
cv2.imshow('sobelx', sobelx)
cv2.error: OpenCV(4.0.0) C:\projects\
opencv-python\opencv\modules\highgui\src\window_w32.cpp:1230:
error: (-215:Assertion failed) dst.data == (uchar*)dst_ptr in function 'cvShowImage'
С другой стороны, функция cv2.imshow() работает правильно для приведенного ниже кода. Обратите внимание: приведенный ниже код не применяет никаких фильтров, таких как лапласиан или sobel, к видео-каналу.
cap = cv2.VideoCapture(0)
while True:
_, frame = cap.read()
cv2.imshow('frame', frame)
if cv2.waitKey(5) & 0xFF == 27:
break
cv2.destroyAllWindows()
cap.release()
1 ответ
В этом обсуждении проблемы Github было упомянуто, что эта ошибка была исправлена в OpenCV 4.0.1. Судя по полученной ошибке, у вас 4.0.0, поэтому может потребоваться другое обновление.