OpenCV介绍:Java&Android——在 Eclipse 中使用 OpenCV Java OpenCV v4.8.0

上一教程Java 开发简介

下一个教程使用 Clojure 开发 OpenCV 简介

原作者Barış Evrim Demiröz
兼容性OpenCV >= 3.0

警告
本教程可能包含过时信息。

自 2.4.4 版起,OpenCV 支持 Java。在本教程中,我将介绍如何在 Windows 下通过 Eclipse 设置 OpenCV Java 的开发环境,这样您就可以享受到垃圾回收、可重构(重命名变量、提取方法等)的现代语言所带来的好处,让您在编写代码时事半功倍、少犯错误。我们开始吧。

配置 Eclipse

首先,从下载页面获取一个新版本的 OpenCV,并将其解压到一个简单的位置,如 C:\OpenCV-2.4.6\。我使用的是 2.4.6 版本,但其他版本的步骤大致相同。

现在,我们将在 Eclipse 中把 OpenCV 定义为用户库,这样就可以在任何项目中重复使用配置。启动 Eclipse 并从菜单中选择 Window -> Preferences。
在这里插入图片描述
在 Java -> Build Path -> User Libaries 下导航,然后单击 New…
在这里插入图片描述
输入新库的名称,如 OpenCV-2.4.6。

在这里插入图片描述
现在选择新的用户库,点击添加外部 JAR…
在这里插入图片描述
浏览 C:\OpenCV-2.4.6\build\java 并选择 opencv-246.jar。添加完 jar 后,扩展 opencv-246.jar,选择本地库位置并按编辑…。
在这里插入图片描述

选择外部文件夹…并浏览选择文件夹 C:\OpenCV-2.4.6\buildjava\x64。如果你的系统是 32 位的,你需要选择 x86 文件夹,而不是 x64 文件夹。

在这里插入图片描述
您的用户库配置应该如下所示:
在这里插入图片描述

在新 Java 项目中测试配置

现在开始创建一个新的 Java 项目。
在这里插入图片描述
在 "Java 设置 "步骤中,在 "库 "选项卡下选择 "添加库… "并选择 OpenCV-2.4.6,然后单击 “完成”。

在这里插入图片描述
在这里插入图片描述
库应该是这样的:
在这里插入图片描述
现在,您已经创建并配置了一个新的 Java 项目,是时候进行测试了。创建一个新的 java 文件。为方便起见,这里有一段启动代码:

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class Hello
{
   public static void main( String[] args )
   {
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
      System.out.println( "mat = " + mat.dump() );
   }
}

运行代码后,输出将是 3x3 同调矩阵。
在这里插入图片描述
就是这样,无论何时开始一个新项目,只需将您定义的 OpenCV 用户库添加到您的项目中即可。请尽情享受您功能强大、痛苦较少的开发环境吧)

运行依赖 OpenCV 和 MKL 的 Java 代码

如果您在使用 MKL 库构建 OpenCV 时,使用了一些调用使用英特尔 MKL 的 OpenCV 函数的 Java 代码,则可能会出现以下错误(例如在 Ubuntu 上):

Intel MKL FATAL ERROR: 无法加载 libmkl_avx2.so 或 libmkl_def.so。

在 Linux 上,解决这个问题的办法之一是预加载英特尔 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),错误就会消失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值