java如何使用OpenCV从视频文件中获取帧
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关java如何使用OpenCV从视频文件中获取帧,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下实现功能:使用Java获取mp4
千家信息网最后更新 2025年11月07日java如何使用OpenCV从视频文件中获取帧
这篇文章将为大家详细讲解有关java如何使用OpenCV从视频文件中获取帧,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体内容如下
实现功能:使用Java获取mp4、mov、avi等视频文件中的图像帧,每秒获取一帧图像,并保存 环境要求:需要安装Opencv,安装FFmpeg,下载javacv包 操作系统:本次实验使用的Ubuntu系统
实验代码
import com.googlecode.javacv.cpp.opencv_highgui;import org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.highgui.Highgui;import org.opencv.highgui.VideoCapture;/*** Created by fang on 17-4-6.* 实现每播放一秒视频就截取一张图片保存到本地的操作* 没有使用ffmpeg,则只能读取avi格式视频* 下载google javcv.jar* sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next* sudo apt-get update* sudo apt-get install ffmpeg* /home/fang/BigDataSoft/opencv-2.4.13/3rdparty/ffmpeg中有opencv_ffmpeg_64.dll文件* 不能解析视频,提示moov atom not found 是文件有错*/public class GetFrameFormVideo {public static void main(String[] args) {// System.out.println("Welcome to OpenCV " + Core.VERSION);// System.loadLibrary(Core.NATIVE_LIBRARY_NAME);// Mat m = Mat.eye(3, 3, CvType.CV_8UC1);// System.out.println("m = " + m.dump());//加载本地的OpenCV库,这样就可以用它来调用Java APISystem.loadLibrary(Core.NATIVE_LIBRARY_NAME);run2();}public static void run2() {//读取视频文件VideoCapture cap = new VideoCapture("/home/fang/Downloads/src_11.mp4");System.out.println(cap.isOpened());//判断视频是否打开if (cap.isOpened()) {//总帧数double frameCount = cap.get(opencv_highgui.CV_CAP_PROP_FRAME_COUNT);System.out.println("视频总帧数:"+frameCount);//帧率double fps = cap.get(opencv_highgui.CV_CAP_PROP_FPS);System.out.println("视频帧率"+fps);//时间长度double len = frameCount / fps;System.out.println("视频总时长:"+len);Double d_s = new Double(len);System.out.println(d_s.intValue());Mat frame = new Mat();for (int i = 0; i < d_s.intValue(); i++) {//设置视频的位置(单位:毫秒)cap.set(opencv_highgui.CV_CAP_PROP_POS_MSEC, i * 1000);//读取下一帧画面if (cap.read(frame)) {System.out.println("正在保存");//保存画面到本地目录Highgui.imwrite("/home/fang/images/" + i + ".jpg", frame);}}//关闭视频文件cap.release();}}}出现的错误
解析Mp4文件时,出现:moov atom not found以为是ffmpeg没有安装正确,到网上找解决办法,后来发现是自己的视频文件有问题。
关于"java如何使用OpenCV从视频文件中获取帧"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
视频
文件
篇文章
内容
图像
更多
画面
系统
实验
不错
实用
操作系统
代码
位置
办法
功能
单位
图片
文章
时长
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
影视类软件开发
互联网科技公司求职简历
天天读书软件开发
沭阳大型网络技术联系方式
2019网络安全大会西安
天津管理冷库软件开发
scrum软件开发流程
什么数据库比较好
网络安全可以分为哪些维度
浅谈网络安全威胁
订货数据库设计
网络安全谷
新倩女幽魂哪些服务器可以6开
1网络安全渗透工程师
中专网络技术个人简历400字
软件开发对cpu频率要求
物联网网络安全风险
数据库 实体类图
加强人与自然网络安全建设
sql 数据库那个版本好用
失落的方舟登陆界面连接不到服务器
数据库字段命名有哪些
数据库运行检测报告
中学校园网络安全活动方案
电脑数据库数据
典型网络安全攻击方法
联想服务器机箱是拓普龙代工的
戴尔服务器方案
oracle12c选择数据库
服务器改ip地址要多久