java如何使用OpenCV从视频文件中获取帧
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章将为大家详细讲解有关java如何使用OpenCV从视频文件中获取帧,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下实现功能:使用Java获取mp4
千家信息网最后更新 2025年02月09日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安全错误
数据库的锁怎样保障安全
oracle数据库创建用户
车手下载软件开发
qq群数据库 时间限制
架设服务器服务端ip连接错误
网络安全漏洞是几级
服务器安全加固实训报告
军队网络安全面临形势
如何对付未知的网络安全
哪个数据库不能文献传递
数据库挂载目录迁移影响
网络技术专业知识技能
毕业设计没有数据库可以吗
网警网络安全周总结
尚学堂数据库查询方法
网络安全你我他书信作文
中国国家网络安全组
高职网络技术专业建设
方舟服务器管理器怎么开代码
服务器扩充内存条有顺序吗
软件开发能否加计扣除
2021网络安全整改通知
怎么开服务器
运城网络安全和信息化科
挂机软件开发工具
不会软件开发去中国联通
地铁逃生哪个服务器延迟不卡
软件开发小项目测试
软件开发本科起步
南京商城软件开发
江苏服务器租赁虚拟主机