【计算机视觉(2)】

基于Python的OpenCV基础入门------视频的处理

视频

视频是由一系列连续的图像帧组成的。每一帧都是视频中的一张静止图像,它们以非常快的速度连续播放,给人一种连续运动的感觉。视频的帧率指的是每秒钟播放的帧数,常见的帧率有24帧/秒、30帧/秒和60帧/秒等。帧率越高,视频播放越流畅。视频的处理就是通过循环将视频流中的所有的帧进行处理

OpenCV视频处理操作:

创建视频对象

cap = cv2.VideoCapture(value)

参数:

设备索引或者一个视频文件名。摄像头读取则是设备索引,0为默认摄像头;视频文件读取则为filename

判断视频是否成功初始化

ret = cap.isOpened()

返回值:

ret :bool类型,成功则为True,否则为False。

读取视频帧

ret, frame = video.read()

返回值:

ret:bool类型,判断是否读取到帧,成功为True,否则为False。

frame:读取到的帧

获取视频特征

cap.get(propId)

参数:

propId : 0 到 18 之间的整数。每一个数代表视频的一个属性,在这里仅举几个常用的参数:

int 属性 propld
0 视频文件的当前位置(毫秒) CV_CAP_PROP_POS_FRAMES
1 下一步要解码/捕获的帧的基于0的索引 CV_CAP_PROP_POS_AVI_RATIO
3 视频流中帧的宽度 CV_CAP_PROP_FRAME_HEIGHT
4 视频流中帧的高度 CV_CAP_PROP_FPS
5 帧率 CV_CAP_PROP_FOURCC

设置视频参数

cap.set(propId, value)

参数:

propId : 0 到 18 之间的整数

value:设置的新值

声明编码器

fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V' ) , FourCC 是用于指定视频解码器的 4 字节代码。

参数 说明
'M', 'P', '4', 'V' MPEG-4编码类型,文件扩展名为 .mp4
'X','2','6','4' MPEG-4编码类型,文件扩展名为.mp4
'P','I','M','I' MPEG-1编码类型,文件扩展名为.avi
'X', 'V', 'I', 'D' MPEG-4编码类型,文件扩展名为.avi
'I', '4', '2', '0' YUV编码类型,文件扩展名为avi

保存视频

out = cv2.VideoWriter(filename,fourcc, fps, frameSize)

参数:

filename:视频保存的位置

fourcc:指定视频编解码器的4字节代码

fps:帧率

frameSize:帧大小

释放视频对象

capture.release(),释放视频对象是必要的清理操作

视频处理基本操作的代码实现:

复制代码
import cv2

cap = cv2.VideoCapture('img/1.mp4')

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

实现效果如下图:

相关推荐
IT_陈寒4 分钟前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
MobotStone5 分钟前
AI 写代码越来越爽,但程序员可能越来越废了
人工智能·设计模式
vibecoding7714 分钟前
FLUX 3 Image Klein 实战:int8 量化 8GB 显卡跑商用文生图,ComfyUI 完整部署流程
人工智能·计算机视觉·大模型
志尊宝25 分钟前
AI原生前端开发(013):端侧文本生成实战:智能提示、自动补全
人工智能·prompt·ai-native
2601_9654490830 分钟前
开源工具做推广没预算?AI自动生成宣传视频的方案
人工智能·开源·音视频
会博通·代码搬运工35 分钟前
粮食加工企业档案系统,如何对接 MES/ERP 与质检?——会博通采集与适配实践
人工智能·档案管理·企业数字化·ai赋能·档案系统·知识资产
愤怒火龙果36 分钟前
AI攻防 AIRT03-RAG Exploitation & Vector Database Attacks
数据库·人工智能·网络安全
孟健39 分钟前
Claude Code 接入 DeepSeek V4.1 与 MiniMax M3.1 实测:200+ TPS 下的代码准确率与 Token 账单
人工智能·llm·ai编程
CV爱数码42 分钟前
论文精读|Learned Primal-Dual:把原始–对偶算法展开成网络
图像处理·算法·计算机视觉·ct·重建·断层扫描
戴西软件1 小时前
制造研发中的AI视觉与仿真:戴西工程图纸智能审图智能体、戴西3DViz_CAE AI集成与戴西3DViz_CAD AI集成
大数据·运维·人工智能·3d·自动化·制造·rpa