专栏简介 | ||
💒个人主页 📰专栏目录 点击上方查看更多内容 | 📖心灵鸡汤📖 我们唯一拥有的就是今天,唯一能把握的也是今天 | 🧭文章导航🧭 ⬆️ 1.环境搭建 ⬇️ 3.Mat之构造函数与数据类型 |
hello OpenCV
- 搭建项目
- jar包说明
搭建项目
maven工程搭建可参考windows安装OpenCV及helloCV
我们搭建一个普通的java工程, 如下所示👇️:
1.File➡️New➡️Project➡️New Project
2.设置工程信息,然后创建即可
3.创建完成后,将opencv-480.jar添加到项目中,如下所示
4.创建代码,调用类库。
方式一:直接读取类库
System.load("D:\\OpenCV\\opencv\\build\\java\\x64\\opencv_java460.dll");
方式二:loadLibrary
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
这种方式需要将opencv_java480.dll
放在jdk的bin目录下。
5.代码示例:
public class Main {public static void main(String[] args) {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);Mat mat = new Mat();System.out.println("mat = " + mat);}
}
执行后输出如下信息:
mat = Mat [ -1*-1*CV_8UC1, isCont=false, isSubmat=false, nativeObj=0x17a91e47ca0, dataAddr=0x0 ]
这段代码表示创建了一个Mat对象,该对象是单通道的8位无符号整型像素值。isCont为false表示Mat对象不是连续的,isSubmat为false表示Mat对象不是子矩阵。nativeObj和dataAddr分别表示对象在内存中的地址和数据地址
jar包说明
包名 | 说明 |
org.opencv.calib3d | 用于相机校准和三维重建 |
org.opencv.core | 核心包,提供了OpenCV库中的基础功能和操作,是其他更高级的图像处理和分析功能的基础 |
org.opencv.dnn | 深度学习网络模块 |
org.opencv.features2d | 提供了用于检测和描述图像特征的类和函数 |
org.opencv.highgui | 用于创建窗口、在窗口中显示图像简单操作,复杂操作可使用其他的Java库,比如Swing或JavaFX |
org.opencv.imgcodecs | 读取和保存图像 |
org.opencv.imgproc | 图像处理。这个包包含了一系列用于对图像进行操作和转换的功能 |
org.opencv.ml | 机器学习相关的功能 |
org.opencv.objdetect | 目标检测模块 |
org.opencv.osgi | 在 OSGi(Open Service Gateway initiative)环境中使用 OpenCV 库 |
org.opencv.photo | 主要用于图像修复、色彩校正和图像对齐等任务 |
org.opencv.utils | 提供了一些实用工具和辅助函数 |
org.opencv.video | 用于视频处理和计算机视觉任务 |
org.opencv.videoio | 用于处理视频文件的读取和写入 |