我是靠谱客的博主 舒服纸飞机,最近开发中收集的这篇文章主要介绍python opencv 读取USB摄像头的像素问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

每次调用capture读取video的时候,还回的像素都是640x480,不管是笔记本的摄像头还是USB摄像头,明明我的摄像头是支持130万读取的功能的呀。

问题分析
一番查找,关于用opencv 设置摄像头读分辨率问题的若干说明,果然是capture的默认设置问题,默认将图像尺寸设置为640x480大小,或者说,USB摄像头就不支持capture类的get方法,搞一个默认值糊弄你。

解决办法:
人为set指定capture图像的大小
利用相机说明书,得到真实的分辨率
https://link.jianshu.com/?t=http%3A%2F%2Fblog.csdn.net%2Fkyjl888%2Farticle%2Fdetails%2F69367912
首先set很大的像素(比如:5000x5000),继续read()得到frame,分析实际frame的大小shape,即为该相机支持的最大分辨率
下面是测试代码:

import cv2
 
videoCaputer = cv2.VideoCapture(0)
 
size = (int(videoCaputer.get(cv2.CAP_PROP_FRAME_HEIGHT)), int(videoCaputer.get(cv2.CAP_PROP_FRAME_WIDTH)))
print(size) #错误结果(480,640)
 
# 只要set下,貌似size就发生了变化
videoCaputer.set(cv2.CAP_PROP_FRAME_WIDTH,5000)
videoCaputer.set(cv2.CAP_PROP_FRAME_HEIGHT,5000)
 
size = (int(videoCaputer.get(cv2.CAP_PROP_FRAME_HEIGHT)), int(videoCaputer.get(cv2.CAP_PROP_FRAME_WIDTH)))
_,frame = videoCaputer.read()
print(size) # 正确结果(1024,1280print(frame.shape)# 正确结果(1024,1280, 3

原文链接:http://www.cnblogs.com/Qing-Bo/p/10560069.html

最后

以上就是舒服纸飞机为你收集整理的python opencv 读取USB摄像头的像素问题的全部内容,希望文章能够帮你解决python opencv 读取USB摄像头的像素问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部