OpenCV 4.10.0
开源计算机视觉
|
上一个教程: Java 开发简介
下一个教程: Clojure OpenCV 开发简介
原始作者 | Barış Evrim Demiröz |
兼容性 | OpenCV >= 3.0 |
自 2.4.4 版本起,OpenCV 支持 Java。在本教程中,我将说明如何在 Windows 中为在 Eclipse 中使用 OpenCV Java 设置开发环境,以便用更少的精力编写代码并减少错误,尽情享受现代语言的优势,这些优势包括垃圾回收和高度可重构性(重命名变量、提取方法等)。下面会进行介绍。
首先,从下载页面获取最新版的 OpenCV,然后将其解压到一个简单的位置,例如 C:\OpenCV-2.4.6\
。我正在使用 2.4.6 版本,但不同版本之间的步骤大致相同。
现在,我们将在 Eclipse 中定义 OpenCV 作为用户库,以便我们可以为任何项目重复使用该配置。启动 Eclipse,然后从菜单中选择 Window –> Preferences。
在 Java –> Build Path –> User Libraries 下导航,然后单击 New....
为新库输入一个名称,例如 OpenCV-2.4.6。
现在选择你的新用户库并单击 Add External JARs....
浏览 C:\OpenCV-2.4.6\build\java\
并选择 opencv-246.jar。在添加 jar 后,展开 opencv-246.jar 并选择 Native library location,然后按 Edit....
选择 External Folder... 并浏览以选择文件夹 C:\OpenCV-2.4.6\build\java\x64
。如果您有 32 位系统,需要选择 x86 文件夹,而不是 x64。
用户库配置应如下所示
现在开始创建一个新的 Java 项目。
在 Java Settings 步骤中,在 Libraries 选项卡下,选择 Add Library... 并选择 OpenCV-2.4.6,然后单击 Finish。
库应如下所示
现在你已经创建并配置了一个新的 Java 项目,是时候进行测试了。创建一个新的 Java 文件。为了方便起见,这里有一个 starter 代码
运行代码后,你应看到 3x3 单位矩阵作为输出。
没错,每当启动新项目时,只需要添加已定义为项目中 OpenCV 用户库就可以了。就可以尽情享受功能强大、更轻松的开发环境了 :)
如果你已使用 MKL 库构建 OpenCV,并且存在调用使用 Intel MKL 的 OpenCV 函数的 Java 代码,则可能会收到以下错误(例如,在 Ubuntu 系统中)
Intel MKL致命错误:无法加载 libmkl_avx2.so 或 libmkl_def.so。
Linux 上有一个解决办法,是在 Intel MKL 库前面加载(在终端中运行命令,或将其添加到.bashrc
文件中)。如果已设置LD_PRELOAD
变量,则命令行应类似于(在前面添加 $LD_PRELOAD:
)
export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_sequential.so
然后,从已设置此环境变量的终端(echo $LD_PRELOAD
)中运行 Eclipse IDE,错误应会消失。