
1 前提知识
1.1 Bytedeco的简介
– Bytedeco是一家专注于将本地库和原生代码绑定到Java平台的公司
– Bytedeco通过使用JavaCPP技术生成现成的绑定,使得计算密集型应用(如科学计算、多媒体处理、计算机视觉和深度学习等)能够在Java环境中运行。
– Bytedeco的目标是弥补Java与C/C++之间的差距,使开发者能够更轻松地使用高性能的本地库。
1.2 JavaCPP
1.2.1 JavaCPP的简介
– JavaCPP技术是一种工具,用于将C/C++代码与Java代码进行绑定
– JavaCPP能够自动生成Java Native Interface(JNI)代码
– JavaCPP支持Java应用程序调用C/C++库
1.2.2 JavaCPP的特点
– 自动生成JNI代码,JavaCPP支持从C/C++头文件自动生成所需JNI代码,简化开发过程。
– 封装本地库,支持调用本地库的Java封装类,使得Java开发者可轻松使用C/C++库的功能。
– 支持多平台,支持多种操作系统和平台,使得开发者能够在不同的环境中使用相同的代码。
– 简化接口文件编写,开发者只需编写适当的接口文件,JavaCPP就会处理剩余的绑定工作。
2 JavaCV
2.1. 软件的简介
– JavaCV是基于Java的计算机视角库
– JavaCV提供对JavaCPP预封装(主要OpenCV)
– JavaCV使得Java开发者可在Java平台(含Android)上使用计算机视觉功能
– JavaCV提供以下使用程序的类,
— OpenCV
— FFmpeg
— libdc1394
— FlyCapture
— Spinnaker
— OpenKinect
— Librelsense
— CL PS3 Eye Driver
— videolnput
— ARToolKitPlus
— Fladmark
— Leptonica
— Tesseract
2.2. 软件的功能
– JavaCV附带硬件加速的全屏图像显示(CanvasFrame和GLCanvasFrame)
– JavaCV支持易用的多核并行代码执行方法(Parallel)
– JavaCV支持友好的相机和投影仪几何和颜色校准(GeometricCalibrator、ProCamGeometricCalibrator、ProCamColorCalibrator)
– JavaCV支持特征检测和匹配(ObjectFinder)
– JavaCV支持投影仪-相机系统直接图像对齐类(主要是GNImageAligner、ProjectiveTransformer、ProjectiveColorTransformer、ProCamTransformer和ReflectanceInitializer)
– JavaCV支持blob分析包(Blobs)
– JavaCV支持类似OpenCL和OpenGL的应用实现(名称以GL结尾或GL开头,例如JavaCVCL、GLCanvasFrame等)
3 环境部署
请参阅,
参阅文档
================
JavaCV
———-
https://github.com/bytedeco/javacv?tab=readme-ov-file
Bytedeco
————-
https://bytedeco.org/
没有评论