1 查看支持的参数

这里记录一下关于cv2配置摄像头曝光等参数的问题,可以参考文章:Python 下opencv 应用: 摄像头参数设置
关于参数的含义,可以参考:OpenCV VideoCapture.get()参数详解

如果不能确定上面(包括本文博客的时效性),可以自己去opencv官方文档,找最新的文档,例如:https://docs.opencv.org/4.5.2/,然后从中搜索videoio,类似
在这里插入图片描述
但是我在4.5.2的文档里打开videoio.hpp的时候网页打开错误了,所以去github上看了:https://github.com/opencv/opencv/blob/master/modules/videoio/include/opencv2/videoio.hpp
这里总是最新的文件了!

enum VideoCaptureProperties {
       CAP_PROP_POS_MSEC       =0, //!< Current position of the video file in milliseconds.
       CAP_PROP_POS_FRAMES     =1, //!< 0-based index of the frame to be decoded/captured next.
       CAP_PROP_POS_AVI_RATIO  =2, //!< Relative position of the video file: 0=start of the film, 1=end of the film.
       CAP_PROP_FRAME_WIDTH    =3, //!< Width of the frames in the video stream.
       CAP_PROP_FRAME_HEIGHT   =4, //!< Height of the frames in the video stream.
       CAP_PROP_FPS            =5, //!< Frame rate.
       CAP_PROP_FOURCC         =6, //!< 4-character code of codec. see VideoWriter::fourcc .
       CAP_PROP_FRAME_COUNT    =7, //!< Number of frames in the video file.
       CAP_PROP_FORMAT         =8, //!< Format of the %Mat objects (see Mat::type()) returned by VideoCapture::retrieve().
                                   //!< Set value -1 to fetch undecoded RAW video streams (as Mat 8UC1).
         ....    ....   ....    ....
  }

也就是一共有52个相机的参数可以使用,但是你的相机是否支持这些设置还需要判断。

import cv2
# 选择摄像头号,一般从 0 开始
cap = cv2.VideoCapture(2)
# 返回值不是-1的,代表支持这个参数设置
print("当前摄像机的设置参数情况如下:")
support=[]
for i in range(52):
    if cap.get(i)!=-1:
        support.append(i)
        print(f"序号{i}的设置,其参数是parameter={cap.get(i)}")
print(support)

输出的结果就是当前相机支持的参数,去对照上面的表。
[0, 1, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 20, 21, 23, 27, 32, 40, 41, 42, 50, 51]

序号10的设置,其参数是parameter=0.0
序号11的设置,其参数是parameter=0.0
序号12的设置,其参数是parameter=0.0
序号13的设置,其参数是parameter=0.0
序号15的设置,其参数是parameter=-5.0

在这里插入图片描述

2 修改查看效果

cap.set(10,5)

刚好今天天气也不好,亮度设置5基本看不见啥
在这里插入图片描述
10的时候,似乎没啥区别
在这里插入图片描述
50(也不知道是外部光线还是摄像头)
在这里插入图片描述
试试70好了
在这里插入图片描述
直接100吧,

3 使用AMCap查看摄像头参数范围

这里下载
安装后界面进行如下点击:
在这里插入图片描述
就可以看到(默认就是中文的,这点很赞!🍗):
在这里插入图片描述
可以看到每个属性大致可以调节的范围,另外,也可以看看每个的默认值
在这里插入图片描述
一般默认值就是推荐值,我这个摄像头是自动调节的,但是也可以直接设置成默认值。

cap.set(10,128)
cap.set(11,128)
cap.set(12,128)
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐