param | define |
---|---|
cv2.VideoCapture.get(0) | CV_CAP_PROP_POS_MSEC 视频文件的当前位置(播放)以毫秒为单位 |
cv2.VideoCapture.get(1) | CV_CAP_PROP_POS_FRAMES 基于以0开始的被捕获或解码的帧索引 |
cv2.VideoCapture.get(2) | CV_CAP_PROP_POS_AVI_RATIO 视频文件的相对位置(播放):0=电影开始,1=影片的结尾。 |
cv2.VideoCapture.get(3) | CV_CAP_PROP_FRAME_WIDTH 在视频流的帧的宽度 |
cv2.VideoCapture.get(4) | CV_CAP_PROP_FRAME_HEIGHT 在视频流的帧的高度 |
cv2.VideoCapture.get(5) | CV_CAP_PROP_FPS 帧速率 |
cv2.VideoCapture.get(6) | CV_CAP_PROP_FOURCC 编解码的4字-字符代码 |
cv2.VideoCapture.get(7) | CV_CAP_PROP_FRAME_COUNT 视频文件中的帧数 |
cv2.VideoCapture.get(8) | CV_CAP_PROP_FORMAT 返回对象的格式 |
cv2.VideoCapture.get(9) | CV_CAP_PROP_MODE 返回后端特定的值,该值指示当前捕获模式 |
cv2.VideoCapture.get(10) | CV_CAP_PROP_BRIGHTNESS 图像的亮度(仅适用于照相机) |
cv2.VideoCapture.get(11) | CV_CAP_PROP_CONTRAST 图像的对比度(仅适用于照相机) |
cv2.VideoCapture.get(12) | CV_CAP_PROP_SATURATION 图像的饱和度(仅适用于照相机) |
cv2.VideoCapture.get(13) | CV_CAP_PROP_HUE 色调图像(仅适用于照相机) |
cv2.VideoCapture.get(14) | CV_CAP_PROP_GAIN 图像增益(仅适用于照相机)(Gain在摄影中表示白平衡提升) |
cv2.VideoCapture.get(15) | CV_CAP_PROP_EXPOSURE 曝光(仅适用于照相机) |
cv2.VideoCapture.get(16) | CV_CAP_PROP_CONVERT_RGB 指示是否应将图像转换为RGB布尔标志 |
cv2.VideoCapture.get(17) | CV_CAP_PROP_WHITE_BALANCE × 暂时不支持 |
cv2.VideoCapture.get(18) | CV_CAP_PROP_RECTIFICATION 立体摄像机的矫正标注(目前只有DC1394 v.2.x后端支持这个功能) |
capture.set | 作用 |
---|---|
capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080); | 宽度 |
capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960); | 高度 |
capture.set(CV_CAP_PROP_FPS, 30); | 帧率 帧/秒 |
capture.set(CV_CAP_PROP_BRIGHTNESS, 1); | 亮度 |
capture.set(CV_CAP_PROP_CONTRAST,40) | 对比度 40 |
capture.set(CV_CAP_PROP_SATURATION, 50); | 饱和度 50 |
capture.set(CV_CAP_PROP_HUE, 50); | 色调 50 |
capture.set(CV_CAP_PROP_EXPOSURE, 50); | 曝光 50 获取摄像头参数 |
————————————————
原文链接
————————————————
小demo
注意,python下的set参数没有CV_
import cv2 as cv
def video_demo():
# 0是代表摄像头编号,只有一个的话默认为0
capture = cv.VideoCapture(0)
capture.set(cv.CAP_PROP_BRIGHTNESS, 500) # 设置亮度
a = capture.get(15)
print(a)
while (True):
ref, frame = capture.read()
cv.imshow("1", frame)
# 等待30ms显示图像,若过程中按“Esc”退出
c = cv.waitKey(30) & 0xff
if c == 27:
capture.release()
break
video_demo()
cv.destroyAllWindows()