【问题标题】:How to capture video with an external camera using opencv如何使用 opencv 使用外部摄像头捕获视频
【发布时间】:2021-10-21 08:29:37
【问题描述】:

我正在尝试从我的 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

请帮忙!!

【问题讨论】:

  • 你好@Hussein Jammal :) 欢迎来到 stackoverlow :) 这是外置摄像头?您是否在也有内置摄像头的笔记本电脑上进行此测试?

标签: python opencv camera


【解决方案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

你会在第一步或第二步得到错误,是的!

顺便欢迎:)

【讨论】:

    猜你喜欢
    • 2016-03-16
    • 2012-05-02
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多