OpenCV的VideoCapture类的get、set参数列表
首先先看OpenCV4.1官方中文手册P32,关于VideoCapture的set和get的说明,如图1所示。说明了19个参数都是可读的,但部分参数可写。具体关于它们的读写我没有仔细深究,在表1注出了我所知的它们读写属性。
下面的代码,是已经跑通的Python代码。Python版本为3.7,OpenCV版本为4.5,在树莓派4B的linux系统上执行正常。
import cv2 as cv #打开摄像头 image = cv.VideoCapture(0) #图像宽度 image.set(3,600) image.set(cv.CAP_PROP_FRAME_WIDTH,600) #图像高度 image.set(4,500) image.set(cv.CAP_PROP_FRAME_HEIGHT,500) #视频帧率 image.set(5, 30) #设置帧率 image.set(cv.CAP_PROP_FPS, 30) #解码方式四字符 image.set(cv.CAP_PROP_FOURCC, cv.VideoWriter.fourcc(M, J, P, G)) #图像亮度 image.set(cv.CAP_PROP_BRIGHTNESS, 63) #设置亮度 -64 - 64 0.0 #图像对比度 image.set(cv.CAP_PROP_CONTRAST, 0) #设置对比度 -64 - 64 2.0 #图像曝光度 image.set(cv.CAP_PROP_EXPOSURE, 2000) #设置曝光值 1.0 - 5000 156.0 while (image.isOpened()): #逐帧捕获 ret, frame = image.read() #显示图像 cv.imshow("real_time",frame) #等待按键ESC按下 if(cv.waitKey(5) == 27): break #释放摄像头 image.release() #关闭所有该程序打开的窗口 cv.destroyAllWindows()
图2为执行结果,图像是实时刷新显示。