python opencv中的函数cvGetMat中无法识别或不支持的数组类型

python opencv中的函数cvGetMat中无法识别或不支持的数组类型,第1张

python opencv中的函数cvGetMat中无法识别或不支持的数组类型

错误消息的相关代码段为

Unrecognized or unsupported array type in functioncvGetMat
。该
cvGetMat()
函数将数组转换为
Mat
。A
Mat
是OpenCV在C / C
++世界中使用的矩阵数据类型(注意:您正在使用的Python
OpenCV接口使用Numpy数组,然后将它们在幕后转换为
Mat
数组)。考虑到这种背景,问题似乎在于
im
您传递给的数组的
cv2.imshow()
格式不正确。两个想法:

  1. 这可能是由于您的网络摄像头的古怪行为引起的…在某些摄像头上,有时会返回空帧。在将

    im
    数组传递给之前
    imshow()
    ,请尝试确保其不为null。

  2. 如果 每个 出现错误,请消除您正在执行的某些处理,并

    cv2.imshow()
    在从网络摄像头抓取帧后立即致电。如果仍然无法解决问题,那么您会发现网络摄像头存在问题。否则,逐行添加您的处理,直到找到问题所在。例如,从此开始:

    while True:# Grab frame from webcamretVal, image = capture.read(); # note: ignore retVal
    faces = cascade.detectMultiScale(image, scaleFactor=1.2, minNeighbors=2, minSize=(100,100),flags=cv.CV_HAAR_DO_CANNY_PRUNING);
    # Draw rectangles on image, and then show it
    for (x,y,w,h) in faces:cv2.rectangle(image, (x,y), (x+w,y+h), 255)
    cv2.imshow("Video", image)i += 1;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5654978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存