pytorch 'im尝试使用opencv读取帧时出现Assert失败错误'

92dk7w1h  于 2023-01-30  发布在  其他
关注(0)|答案(1)|浏览(127)

我正在尝试使用.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:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

我是新来的,所以我真的不知道为什么给我这种类型的错误。最好的问候,马克西米利亚诺
我希望解决这个错误,这样我就可以在我的网络摄像头测试我的模型。

lnxxn5zx

lnxxn5zx1#

很可能是您的frame为空。这意味着网络摄像机未正确加载。您可以在cap.read()之后检查类似print(frame.shape)的内容,并查看它打印的内容。如果它不为空,它将打印网络摄像机帧大小。请确保您的网络摄像机位于您指定的位置1。如果您只有一个网络摄像机,则应为0

相关问题