千家信息网

java如何使用OpenCV从视频文件中获取帧

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关java如何使用OpenCV从视频文件中获取帧,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下实现功能:使用Java获取mp4
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 互联网科技公司起名 云之行互联网科技 互联网医疗科技 华宇互联网科技 广西互联网科技公司 润盈互联网科技 多迪互联网科技有限公司 互联网科技素材视频竖屏 科技与互联网的利与弊 昭通云南众福互联网科技有限公司 顶级互联网科技成果有哪些 互联网科技有哪些公司 深圳育鹏互联网科技有限公司招聘 亳州好赞互联网科技有限公司 佛山市拉法互联网科技有限公司 南通创西澳互联网科技有限公司 杭州披云加互联网科技有限公司 云南互联网科技学费 亚光科技低轨卫星互联网 现代互联网科技公司 广州大一互联网络科技有限公司 一五八零互联网科技 科技赋能互联网健康 科技与互联网的利与弊 广西互联网科技孵化中心 智帮互联网科技公司最近动向 广州梦谷互联网科技有限公司领导 版纳互联网科技选哪家 互联网领先科技活动 10位科技互联网大佬
0