'Assertion failed error while im trying to read frame with opencv'



我试图使用。pt模型通过网络摄像头检测对象。当我执行这段代码时:

# Importamos librerias
import torch
import cv2
import numpy as np
import pandas
# Leemos el modelo
model = torch.hub.load('ultralytics/yolov5', 'custom',
path = 'C:/Users/maxim/OneDrive/Documentos/jupyterbooks/detector.pt')
# Realizo Videocaptura
cap = cv2.VideoCapture(1)
# Empezamos
while True:
# Realizamos lectura de frames
ret, frame = cap.read()
# Correccion de color
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# Realizamos las detecciones
detect = model(frame)

# Mostramos FPS
cv2.imshow('Detector de Figuras', np.squeeze(detect.render()))
# Leemos el teclado
t = cv2.waitKey(5)
if t == 27:
break`
cap.release()
cv2.destroyAllWindows()

它给了我这个错误:

error: OpenCV(4.7.0) D:aopencv-pythonopencv-pythonopencvmodulesimgprocsrccolor.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

我是新手,所以我真的不知道为什么给我这种类型的错误。最好的问候,maximiliano

我希望解决这个错误,这样我就可以在我的网络摄像头中测试我的模型。

最有可能的是,您的frame为空。这意味着网络摄像头无法正常加载。您可以在cap.read()之后检查print(frame.shape),看看它打印了什么。如果它不是空的,它将打印网络摄像头帧大小。确保您的网络摄像头位于您指定的位置1。如果你只有一个摄像头,它应该是0

最新更新