cv2.imshow() 函数抛出断言错误
Posted
技术标签:
【中文标题】cv2.imshow() 函数抛出断言错误【英文标题】:cv2.imshow() function throws an assertion error 【发布时间】:2019-03-22 04:39:12 【问题描述】:即使在升级我的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() 函数适用于以下代码。请注意:下面的代码不会对视频提要应用任何过滤器,如拉普拉斯或索贝尔。
cap = cv2.VideoCapture(0)
while True:
_, frame = cap.read()
cv2.imshow('frame', frame)
if cv2.waitKey(5) & 0xFF == 27:
break
cv2.destroyAllWindows()
cap.release()
【问题讨论】:
您是否查看过这些其他帖子:***.com/q/54336237/9987623、***.com/q/54370220/9987623 【参考方案1】:在this Github 问题讨论中,提到这个错误已在 OpenCV 4.0.1 中修复。根据您收到的错误,您的版本似乎是 4.0.0,因此可能需要再次升级。
【讨论】:
以上是关于cv2.imshow() 函数抛出断言错误的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV 函数学习03-图像的显示(cv2.imshow)
cv2.imshow() 函数打开一个总是说没有响应的窗口 - python opencv
OpenCV 在带有 anaconda 的 Linux 上无法与 python 一起正常工作。收到未实现 cv2.imshow() 的错误