读取摄像头视频&读取视频文件&视频的写入

import numpy as np
import cv2
#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()

运行结束会出现灰度化了的视频,但你是关不掉的,因为需要按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)

在这里插入图片描述

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也会退出
        

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

#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)

在这里插入图片描述

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值