介绍获取并修改摄像头的属性值
播放本地视频
录制视频并保存
这篇文章给大家介绍怎么在python中利用opencv对摄像头进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
#,打开摄像头并灰度化显示 import cv2  as cv #,0表示摄像头的编的号 时间=capture cv.VideoCapture (0) 而(真正的): #,才能获取一帧 1 #才能,第个参数ret (return 价值缩写)是一个布尔值,表示当前这一帧是否获取正确 ret,才能,frame =, capture.read () #,才能将这帧转换为灰度图 gray 才能=,cv.cvtColor(框架,,cv.COLOR_BGR2GRAY) cv.imshow才能(& # 39;帧# 39;,,灰色) if 才能cv.waitKey(1),==,奥德(& # 39;提问# 39;): ,,,打破
摄像头捕捉到的图像:
获取并修改摄像头的属性值
通过capture.get (propId)可以获取摄像头的一些属性,比如捕获的分辨率,亮度和对比度等.propId是从0 ~ 18的数字,代表不同的属性。要修改摄像头的属性值,可以使用capture.set (propId、价值),比如说,我们在之时前添加下面的代码,可以捕获相对于上面2倍分辨率的视频。
#,获取捕获的分辨率 #,propId可以直接写数字,也可以用OpenCV的符号表示 宽度,height =, capture.get (3),, capture.get (4) 打印(宽度,高度) #,以原分辨率的一倍来捕获 capture.set (cv.CAP_PROP_FRAME_WIDTH, width *, 2) capture.set (cv.CAP_PROP_FRAME_HEIGHT, height *, 2)
捕获的2倍分辨率于原先的图像:
播放本地视频
跟打开摄像头一样,如果把摄像头的编号换成视频的路径就可以播放本地视频了。回想一下cv.waitKey(),它的参数表示暂停时间,所以这个值越大,视频播放速度越慢,反之,播放速度越快,通常设置为25或30。
#, opencv播放本地视频 import cv2  as 简历 时间=capture cv.VideoCapture (& # 39; E: 1./mp4 # 39;) 而(capture.isOpened ()): ret,才能,frame =, capture.read () gray 才能=,cv.cvtColor(框架,,cv.COLOR_BGR2GRAY) cv.imshow才能(& # 39;帧# 39;,,灰色) if 才能cv.waitKey(30),==,奥德(& # 39;提问# 39;): ,,,打破
播放中的E:/1。mp4:
录制视频并保存
之前我们保存图片用的是cv.imwrite(),要保存视频,我们需要创建一个VideoWriter的对象,需要给它传入四个参数:
1。输出的文件名,如& # 39;output.avi& # 39;
2。编码方式FourCC码
3。帧率FPS
4。要保存的分辨率大小
FourCC是用来指定视频编码方式的四字节码。如MJPG编码可以这样写:cv.VideoWriter_fourcc (* & # 39; MJPG& # 39;)或cv.VideoWriter_fourcc(& # 39;猴# 39;& # 39;强生# 39;,& # 39;p # 39;, & # 39;舌鳎# 39;)
import cv2 as 简历 时间=capture cv.VideoCapture (0) #,定义编码方式并创建VideoWriter对象 时间=fourcc cv.VideoWriter_fourcc (* & # 39; MJPG& # 39;) 时间=outfile cv.VideoWriter (& # 39; output.avi& # 39;,, fourcc,, 25岁,,(640,,480)) 而(capture.isOpened ()): ret,才能,frame =, capture.read () if 才能;随著: ,,,outfile.write(帧),#,写入文件 ,,,cv.imshow(& # 39;帧# 39;,,) ,,,if cv.waitKey(1),==,奥德(& # 39;提问# 39;): ,,,,,休息 其他的才能: ,,,打破