怎么在python中利用opencv对摄像头进行操作

  介绍

这篇文章给大家介绍怎么在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;):   ,,,打破

摄像头捕捉到的图像:

怎么在python中利用opencv对摄像头进行操作

获取并修改摄像头的属性值

通过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倍分辨率于原先的图像:

怎么在python中利用opencv对摄像头进行操作

播放本地视频

跟打开摄像头一样,如果把摄像头的编号换成视频的路径就可以播放本地视频了。回想一下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:

怎么在python中利用opencv对摄像头进行操作

录制视频并保存

之前我们保存图片用的是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;):   ,,,,,休息   其他的才能:   ,,,打破

怎么在python中利用opencv对摄像头进行操作