如何使用 opencv 使用外部摄像头捕获视频

How to capture video with an external camera using opencv

我正在尝试从我的 pixy2 相机捕捉视频。 我写了这段代码:

import cv2 as cv

vid = cv.VideoCapture(1, cv.CAP_DSHOW)

while (True):

    ret, frame = vid.read()

    cv.imshow('frame', frame)

    if cv.waitKey(1) & 0xFF == ord('q'):
        break

vid.release()
cv.destroyAllWindows()

我收到这个错误:

"C:\Users\User\PycharmProjects\OpenCV tutorial\venv\Scripts\python.exe" "C:/Users/User/PycharmProjects/OpenCV tutorial/OpenCV_1.py"
Traceback (most recent call last):
  File "C:\Users\User\PycharmProjects\OpenCV tutorial\OpenCV_1.py", line 14, in <module>
    cv.imshow('frame', frame)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-sn_xpupm\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'


Process finished with exit code 1

任何帮助,请!!

实际上这个错误不是基于您的视频捕获操作。 -正确地将捕获参数设置为 1 -

这里有两个提示,可帮助您确定此错误背后的原因;

  1. 首先在您的代码 vid = cv.VideoCapture(1, cv.CAP_DSHOW) 这一行之后使用这一行:

vid not cap.isOpened(): print("Cannot open camera") exit() 此代码可帮助您了解您的外部摄像头是打开还是关闭。

  1. 第二个技巧是关于阅读阶段。

if not ret: print("Can't receive frame (stream end?). Exiting ...") break

你会在 1.st 步或 2.nd 步得到错误,是的!

顺便说一句欢迎 :)