java的keyframe_JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用

本文详细介绍了JavaCV中的FrameGrabber,包括其原理、结构和不同子类的特性,如FFmpegFrameGrabber和OpenCVFrameGrabber。通过实例展示了如何初始化、设置参数以及抓取音视频帧,特别提到了关键帧的抓取。适用于JavaCV初学者和视频处理开发者。
摘要由CSDN通过智能技术生成

JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用

前言

上一章大体讲解了javaCV的结构,本章就具体的FrameGrabber实现方式展开探索。

FrameGrabber(帧抓取器/采集器)介绍

用于采集/抓取视频图像和音频采样。封装了检索流信息,自动猜测视频解码格式,音视频解码等具体API,并把解码完的像素数据(可配置像素格式)或音频数据保存到Frame中返回等功能。

FrameGrabber的结构

FrameGrabber本身是个抽象类,抽象了所有抓取器的通用方法和一些共用属性。FrameGrabber的子类/实现类包含以下几个:

FFmpegFrameGrabber

OpenCVFrameGrabber

IPCameraFrameGrabber

VideoInputFrameGrabber(仅支持Windows)

FlyCapture2FrameGrabber

DC1394FrameGrabber

RealSenseFrameGrabber

OpenKinectFrameGrabber

OpenKinect2FrameGrabber

PS3EyeFrameGrabber

几种FrameGrabber子类实现介绍

FFmpegFrameGrabber

强大到离谱的音视频处理/计算机视觉/图像处理库,视觉和图像处理这块没有opencv强大;

可以支持网络摄像机:udp、rtp、rtsp和rtmp等,支持本机设备,比如屏幕画面、摄像头、音频话筒设备等等、还支持视频文件、网络流(flv、rtmp、http文件流、hls、等等等)

OpenC

在Linux环境下编译loam-livox项目时,如果在`cell_map_keyframe.hpp`文件中遇到对`cv::Mat::Mat()`未定义引用的错误,这通常意味着你的系统中缺少相应的OpenCV库,或者编译没有正确找到OpenCV的头文件和库文件。以下是解决这个问题的步骤: 1. 确保已经安装了OpenCV库。如果没有安装,可以通过包管理安装。例如在Ubuntu系统中,可以使用以下命令安装OpenCV: ``` sudo apt-get update sudo apt-get install libopencv-dev ``` 2. 在编译loam-livox时,确保编译能够找到OpenCV的头文件和库文件。这通常通过在编译命令中添加适当的头文件目录(`-I`)和库目录(`-L`)以及指定库文件(`-lopencv_xxx`)来实现。例如: ``` g++ your_program.cpp -o your_program -I/usr/include/opencv4 -L/usr/lib/x86_64-linux-gnu -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_videoio -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_xfeatures2d -lopencv_flann ``` 3. 确认CMakeLists.txt或Makefile文件中是否正确链接了OpenCV库。有时需要在这些配置文件中明确指定需要链接的库。 4. 如果在系统中安装了多个版本的OpenCV,可能会出现版本冲突。检查环境变量,确保链接的是正确的版本。 5. 清理之前的编译结果,有时候旧的编译缓存可能导致编译错误。可以使用`make clean`或`cmake --build . --target clean`(取决于项目使用的是CMake还是其他构建系统)来清理构建目录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值