cv2.imshow()函数引发断言错误

时间:2019-03-22 04:39:13

标签: python-3.x opencv4

即使升级了我的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()函数对于以下代码正常工作。请注意:以下代码未对视频供稿应用任何过滤器,如laplacian或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 个答案:

答案 0 :(得分:0)

this Github问题讨论中,提到此错误已在OpenCV 4.0.1中修复。根据收到的错误,您看起来像是4.0.0,因此可能需要再次升级。