![]() |
OpenCV 4.12.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 设置步骤的“Libraries”选项卡下,选择“Add Library...”并选择 OpenCV-2.4.6,然后单击“Finish”。
库应如下所示
现在您已经创建并配置了一个新的 Java 项目,是时候进行测试了。创建一个新的 java 文件。这是一个方便的入门代码
当您运行代码时,您应该看到 3x3 单位矩阵作为输出。
就是这样,每当您启动一个新项目时,只需将您定义的 OpenCV 用户库添加到您的项目中即可。享受您强大、更轻松的开发环境:)
如果您使用 Intel MKL 构建了 OpenCV,并且使用了一些调用使用 Intel MKL 的 OpenCV 函数的 Java 代码,您可能会遇到以下错误(例如,在 Ubuntu 上)
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or 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
然后,从设置了此环境变量的终端运行 Eclipse IDE (echo $LD_PRELOAD),错误应该消失。