【OpenCV】图像显示与保存、摄像头采集视频、从视频文件中读取视频帧、将视频录制成多媒体文件

目录

1. 图像显示与保存

1.1 步骤

1.2 代码

2. 摄像头采集视频

2.1 步骤

3. 从视频文件中读取视频帧

3.1 步骤

4. 将视频录制成多媒体文件

4.1 步骤

4.2 代码


1. 图像显示与保存

1.1 步骤

创建显示窗口(设置窗口大小)——读取图片——显示图片(保存图片)——关闭窗口

1.2 代码

#!/user/bin/env python3
# -*- coding: utf-8 -*-
# 图片显示与保存
import cv2
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.resizeWindow('img',640,480)
img = cv2.imread("E:/images/51d415129c45d12c9fb4e01880ebc3e3.jpg")

while True:

    cv2.imshow('img',img)

    key = cv2.waitKey(0)

    if (key & 0xFF == ord('q')):
        break
    elif(key & 0xFF == ord('s')):
        cv2.imwrite("E:/images/123.png",img)
    else:
        print(key)

cv2.destroyAllWindows()

2. 摄像头采集视频

2.1 步骤

创建显示窗口——获取摄像头设备——将视频帧在窗口显示——释放窗口

# 获取视频设备
cap = cv2.VideoCapture(0)

ret ,frame = cap.read()
# 将视频帧在窗口显示
cv2.imshow('video',frame)

3. 从视频文件中读取视频帧

3.1 步骤

创建显示窗口——从多媒体文件中读取视频帧——将视频帧在窗口显示——释放窗口

# 从多媒体文件中读取视频帧
cap = cv2.VideoCapture()# 视频文件地址

ret ,frame = cap.read()
# 将视频帧在窗口显示
cv2.imshow('video',frame)

4. 将视频录制成多媒体文件

4.1 步骤

创新显示窗口——创建VideoWriter为写多媒体文件——获取视频设备——将视频帧在窗口显示——写数据到多媒体文件——释放窗口

4.2 代码

#!/user/bin/env python3
# -*- coding: utf-8 -*-
import cv2

# 创建VideoWriter为写多媒体文件
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
vw = cv2.VideoWriter('./out.mp4',fourcc,25,(1080,720))
# 创建窗口
cv2.namedWindow('video',cv2.WINDOW_NORMAL)
cv2.resizeWindow('video',640,360)
# 获取视频设备
cap = cv2.VideoCapture(0)
# 从多媒体文件中读取视频帧
# cap = cv2.VideoCapture()# 视频文件地址

#判断摄像头是否为打开状态
while cap.isOpened():
    ret ,frame = cap.read()
    if ret == True:
        # 将视频帧在窗口显示
        cv2.imshow('video',frame)
        #写数据到多媒体文件
        vw.write(frame)
        #等待键盘事件,如果为q,退出
        key = cv2.waitKey(5)
        if(key & 0xFF == ord('q')):
            break
    else:
        break

# 释放Videocapture
cap.release()
vw.release()
cv2.destroyAllWindows()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码字神经元

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值