参考:https://blog.csdn.net/u013066730/article/details/126356627
获取视频(创建 VideoCapture 对象)
使用 cv2.VideoCapture 类
Args:
- filename – 文件路径;
- device – 视频设备id ,若只有一个摄像头可以填 0,表示打开默认摄像头;
1
vc
=
cv2.VideoCapture(filename)
检验 VideoCapture 对象是否创境成功
使用 VideoCapture 对象的 isOpened 方法
12345# determine whether to open normally
if
vc.isOpened():
ret, frame
=
vc.read()
else
:
ret
=
False
若成功,返回 True。
按帧读取视频
使用 VideoCapture 对象的 read 方法
使用 VideoCapture 对象的 read 方法按帧读取视频,ret, frame 是 read 方法的两个返回值 ,其中 ret 是布尔值,如果能正确读取帧,则返回 True;如果文件读取到结尾,它的返回值就为 False。frame 就是每一帧的图像,是一个三维矩阵。
123# loop read video frame
while
ret:
ret, frame
=
vc.read()
保存图片
使用 cv2.imwrite() 函数
第一个参数是文件名,第二个参数是图片资源。
-
1
cv2.imwrite(image_path, image)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?