OpenCV 4.11.0
开源计算机视觉库
|
上一篇教程: Java开发入门
下一篇教程: 使用Clojure进行OpenCV开发入门
原作者 | Barış Evrim Demiröz |
兼容性 | OpenCV >= 3.0 |
自2.4.4版本以来,OpenCV支持Java。在本教程中,我将解释如何在Windows系统中设置使用OpenCV Java和Eclipse的开发环境,以便您可以享受到垃圾回收、高度可重构(重命名变量、提取方法等等)的现代语言带来的好处,使您可以更轻松地编写代码并减少错误。我们开始吧。
首先,从下载页面获取最新版本的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用户库添加到您的项目中即可。享受您强大且更轻松的开发环境吧 :)
如果您使用MKL库构建了OpenCV,并且某些Java代码调用了使用Intel MKL的OpenCV函数,则可能会出现以下错误(例如在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,错误应该会消失。