python opencv 拍照_Python OpenCV访问网络摄像头的最大分辨率

在尝试使用OpenCV的Python代码设置网络摄像头(QuickCam V-UBK45)分辨率时遇到问题。代码可以成功设置低于默认分辨率(640x480)的较小值,如320x240,但无法设置高于此值的分辨率,如800x600,尽管相机硬件支持这些更高分辨率。已确认在Logitech提供的软件中,相机可以以1280x960和所有中间分辨率拍照。寻求解决方案以通过代码访问这些高分辨率。
摘要由CSDN通过智能技术生成

我正在尝试使用导入OpenCV的python代码从我的网络摄像头获取图像 . 代码如下:

import sys

sys.path.append("C:\\opencv\\build\\python\\2.7")

import cv2

import cv2.cv as cv

import time

# Set resolution

cap = cv2.VideoCapture(0)

print "Frame default resolution: (" + str(cap.get(cv.CV_CAP_PROP_FRAME_WIDTH)) + "; " + str(cap.get(cv.CV_CAP_PROP_FRAME_HEIGHT)) + ")"

cap.set(cv.CV_CAP_PROP_FRAME_WIDTH, 800)

cap.set(cv.CV_CAP_PROP_FRAME_HEIGHT, 600)

print "Frame resolution set to: (" + str(cap.get(cv.CV_CAP_PROP_FRAME_WIDTH)) + "; " + str(cap.get(cv.CV_CAP_PROP_FRAME_HEIGHT)) + ")"

# Acquire frame

capture = cv.CreateCameraCapture(0)

img = cv.QueryFrame(capture)

代码工作正常,但相机默认分辨率为640x480,我的代码似乎只能设置低于此值的分辨率值 . 例如,我可以将图像大小设置为320x240,但我无法将其更改为800x600 . 我没有出现错误:只需将分辨率设置为默认值(640x480),因为我尝试将其设置为更高的值 .

我正在使用的相机(没有其他网络摄像头连接到计算机)是QuickCam V-UBK45:使用Logitech提供的软件,我能够以全分辨率(1280x960)和所有中间分辨率(例如800x600)拍摄照片 .

因此,硬件支持这些帧大小,但我的代码无法访问它们 .

有谁知道我能做什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值