(公开简历)ASSERT: "false" in file qasciikey.cpp



我在 lubuntu 16.04 上使用 OpenCV 3.2.0、Python 2.7,并在 imshow(( 显示带有我的相机流的窗口后短暂地遇到此错误。

此错误是随机发生的 - 在发生这种情况之前,流可以正常运行半分钟,或者可以在我第一次运行脚本时立即发生。

ASSERT:"false"在文件 qasciikey.cpp,第 495 行已中止(核心已转储(

我的代码附在下面:

import numpy as np
import cv2
redcross_cascade = cv2.CascadeClassifier('rcrosscascade.xml')
cap = cv2.VideoCapture(2)
cv2.namedWindow('Haar', cv2.WINDOW_NORMAL)
while 1:
    ret, img = cap.read()
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    redcross = redcross_cascade.detectMultiScale(gray, 50, 50)
    for (x,y,w,h) in redcross:
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,0),2)
    cv2.imshow('Haar',img)
    key = cv2.waitKey(1) & 0xff
    if key == 27:
        break
cap.release()
cv2.destroyAllWindows()

非常感谢有关此事的任何帮助,谢谢!

编辑:我已经确定了此错误的触发器 - 从我的USB光学鼠标移动。断开鼠标连接可防止错误重新出现,但我尚未找到发生这种情况的原因。

当我

通过SSH终端运行我的python程序(使用cv2(时,我收到此错误。当我从机器本身运行程序时,错误消失了。我认为这是由于某些 X11 问题。

我之前收到过此错误。不同的网络摄像头具有不同的性能。我的方法是在cv2.imshow函数之后编写cv2.waitKey函数。

我遇到了同样的问题。我的应用程序与您的应用程序相似。这里建议的修复程序都对我不起作用。我发现如果我通过 cap.read(( 在调试模式下启动单步执行,我可以继续全速运行,问题会消失,尽管这不是一个好的解决方法。

最新更新