当前位置:   article > 正文

读取摄像头视频&读取视频文件&视频的写入_while true: # 读取摄像头图像# ret, frame = cap.read() # 调

while true: # 读取摄像头图像# ret, frame = cap.read() # 调整图像大小 if succ
import numpy as np
import cv2
  • 1
  • 2
#0代表从摄像头获取图像数据,如果从本地获取可以写路径
cap = cv2.VideoCapture(0)


while(True):
    # ret表示读取成功True或失败False
    #frame表示读取到的图像的内容
    #总的意思是读取一帧数据
    ret,frame = cap.read()
    #灰度图
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',gray)
    #waitKey功能就是不断地刷新图像,单位ms,返回值是当前键盘按键值
    #ord返回对应的ASCII数值
    #这里的意思是会不断监测键盘输入,键按q时退出循环
    if cv2.waitKey(1) & 0xff == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

运行结束会出现灰度化了的视频,但你是关不掉的,因为需要按q来退出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#0代表从摄像头获取图像数据,如果从本地获取可以写路径
cap = cv2.VideoCapture('./shipin.mp4')
#视频每秒传输帧数
fps = cap.get(cv2.CAP_PROP_FPS)
#视频图像的宽度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
#视频图像的长度
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps)
print(frame_width,frame_height)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

while(True):
     # ret表示读取成功True或失败False
     #frame表示读取到的图像的内容
     #总的意思是读取一帧数据
     ret,frame = cap.read()
     if ret!=True:
        
        break
     cv2.imshow('frame',frame)
    
     #waitKey功能就是不断地刷新图像,单位ms,返回值是当前键盘按键值
     #ord返回对应的ASCII数值
     #这里的意思是会不断监测键盘输入,键按q时退出循环
     if cv2.waitKey(25) & 0xff == ord('q'):
         break
cap.release()
cv2.destroyAllWindows()

#可以给waitKey赋予一个合适的值让视频播放时间正常
#除了视频播放完毕之后会退出外,在视频播放过程中按q也会退出
        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述
在这里插入图片描述

#0代表从摄像头获取图像数据,如果从本地获取可以写路径
cap = cv2.VideoCapture('./shipin.mp4')
#视频每秒传输帧数
fps = cap.get(cv2.CAP_PROP_FPS)
#视频图像的宽度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
#视频图像的长度
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps)
print(frame_width,frame_height)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('./shipin2.mp4',fourcc,fps,(frame_width,frame_height))
#我们让输出是原来的长宽,帧数

while(True):
    ret,frame = cap.read()
    if ret==True:
        #水平翻转
        frame = cv2.flip(frame,1)
        out.write(frame)
        cv2.imshow('frame',frame)
        if cv2.waitKey(25) & 0xff == ord('q'):
            break
    else:
        break
out.release()
cap.release()
cv2.destroyAllWindows()
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/280304?site
推荐阅读
相关标签
  

闽ICP备14008679号