繁体   English   中英

OpenCV cv2.VideoCapture(0)与网络摄像头无法正常工作

[英]OpenCV cv2.VideoCapture(0) is not working well with webcam

我正在尝试将USB网络摄像头用于raspberry pi派上的计算机视觉项目,该项目可输出移动物体的方向。 我安装了openCV并尝试了可在PC上完美运行的python代码,但是当我在cv2.imshow("video output", frame) raspberry pi B+运行它时,输出却出乎意料,因此我将视频输出与cv2.imshow("video output", frame)结合cv2.imshow("video output", frame)看看发生了什么,看到一些奇怪的事情。 视频闪烁,红色部分闪烁,蓝色部分闪烁。


查看问题

尽管我的代码在PC上运行完美,但也许可以帮上忙,所以这是我的代码:

import argparse
import datetime
import imutils
import time
import cv2
import numpy as np

ap = argparse.ArgumentParser()
ap.add_argument("-v", "--video", help="path to video")
ap.add_argument("-a", "--min-area", type=int, default = 200, help="min area")
args=vars(ap.parse_args())

if args.get("video", None) is None:
    camera = cv2.VideoCapture(0)
    camera.set(cv2.cv.CV_CAP_PROP_FPS,2)
    camera.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH,640)
    camera.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT,480)
    time.sleep(2.5)
else:
    camera = cv2.VideoCapture(args["video"])

while True:
    (grabbed, frame) = camera.read()
    if not grabbed:
        break
    frame = imutils.resize(frame, width=500)
    cv2.imshow("testing",frame)
    key = cv2.waitKey(1) & 0xFF
    if key == ord("q"):
        break

camera.release()
cv2.destroyAllWindows()

事实证明,问题出在视频源。 该网络摄像头与OpenCV不兼容,尽管它与其他一些计算机视频输入包非常兼容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM