gpt4 book ai didi

python - OpenCV VideoCapture 和 (-215 :Assertion failed) ! _src.empty() 在函数 'cvtColor'

转载 作者:行者123 更新时间:2023-12-02 17:56:40 26 4
gpt4 key购买 nike

这段代码最初运行良好。但是当我再次运行它时,出现以下错误。我搜索了很多有关错误的信息,但找不到解决方案。任何帮助将不胜感激。

cv2.error: OpenCV(4.4.0) /tmp/pip-wheel-frffvd08/opencv-python/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

下面的代码是我写的Python代码。

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height

while(True):
#while(cap.isOpened()):
ret, frame = cap.read()
frame = cv2.flip(frame, -1) # Flip camera vertically
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

cv2.imshow('frame', frame)
cv2.imshow('gray', gray)

k = cv2.waitKey(30) & 0xff
if k == 27: # press 'ESC' to quit
break
cap.release()
cv2.destroyAllWindows()

最佳答案

!_src.empty() 表示您有空框架。

当 cv2 无法从相机/文件/流中获取帧时,它不会显示错误,但它在 frame 中设置 None,在 ret 中设置 False - 你必须检查这些值之一

if frame is not None: 
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# ... other code ...
else:
print("empty frame")
exit(1)

if ret:  # if ret is True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# ... other code ...
else:
print("empty frame")
exit(1)

有时 cv2 无法找到 haarcascades 文件。并且有一个带有 .xml 文件夹路径的特殊变量 - cv2.data.haarcascades - 你可能需要

faceCascade = cv2.CascadeClassifier( os.path.join(cv2.data.haarcascades, "haarcascade_frontalface_default.xml") )

关于python - OpenCV VideoCapture 和 (-215 :Assertion failed) ! _src.empty() 在函数 'cvtColor',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64526024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com