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 。

 

  

posted on 2019-05-02 22:05  txp玩linux  阅读(412)  评论(0编辑  收藏  举报