利用opencv实现视频捕捉功能

 1 import cv2 as cv
 2 import numpy as np
 3 
 4 
 5 def video_demo():
 6     capture = cv.VideoCapture(0)   #打开摄像头,参数0代表设备ID(设备表示号),也就是电脑自带的摄像头,人如果要设置成其他摄像头,可以更改这个参数
 7     while(True):
 8         ret,frame = capture.read()  #读取摄像头,它能返回两个参数,第一个参数是bool 型的ret,其值为True或者False,代表有没有读到图片;第二个参数frame,表示读取当前一帧的图片
 9         frame = cv.flip(frame,1)     #翻转   等于0:上下颠倒     大于0:水平颠倒  小于0:180旋转
10         cv.imshow("video",frame)
11         c = cv.waitKey(10)
12         if c == 27:   
break # 这里代码的意思是按下esc键就会把这个捕捉到的视频图片关闭掉 或者也可以按下q 键来关闭视频图片,但是代码是这样写
cv.waitKey(10) & 0xff == ord('q')
15 video_demo()
16 cv.waitKey(0)
17 18 cv.destroyWindows()

    注意:上面那个捕捉到摄像头的视频,点击窗口关闭是关闭不了的,而且当你修改图片翻转方式的时候,你再执行代码的话会有代码报错,因为他是一个死循环,所以你必须按照上面说的那样,才能实现视频翻转调节功能,这里一定要注意,一开始,自己以为写的代码有bug,后来注意到了这里,不是代码的原因,这里涉及到个人隐私问题,就不拿视频照片举列子了,按照我上面说了,操作就完全没问题,哈哈哈。

       接下来操作一个读取视频文件:

        

 1 import cv2 as cv
 2 
 3 def capture_video():
 4     capture = cv.VideoCapture('D:/tt.avi')   #这里面的参数是视频资源路径
 5     while True:
 6         ret ,frame=capture.read()
 7         if not ret:
 8             break
 9         cv.imshow('video',frame)
10         c = cv.waitKey(50)
11         if c == 27 :
12             break
13 t1=cv.getTickCount()
14 
15 capture_video()
16 
17 t2=cv.getTickCount()
18 
19 print('the time is : %s ms'%((t2-t1)/cv.getTickFrequency()*1000))
20 
21 cv.waitKey(-1)
22 cv.destoryAllWindows()

 

      通过上面操作就可以实现读取视频文件了,但是有一个缺点,就是读取的视频文件播放没有声音,目前还不知道怎样加载出声音来,hh 。

 

  

转载于:https://www.cnblogs.com/1121518wo/p/10803579.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值