如何将OpenCV Java 与Eclipse结合使用

返回目录:OpenCV系列文章目录

上一篇:OpenCV-Java 开发简介

下一篇:

正文:

警告:本教程可以包含过时的信息。

从 2.4.4 版本开始,OpenCV 支持 Java。在本教程中,我将解释如何设置开发环境,以便在 Windows 中使用 OpenCV Java 和 Eclipse,这样您就可以享受垃圾收集的好处,非常可重构(重命名变量、提取方法等)现代语言,使您能够以更少的努力编写代码并减少错误。来吧。

Configuring Eclipse

配置 Eclipse

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

现在,我们将 OpenCV 定义为 Eclipse 中的用户库,这样我们就可以在任何项目中重用该配置。启动 Eclipse 并从菜单Window --> Preferences中选择

在 Java --> Build Path --> User Libraries 下导航,然后单击 New...

输入新库的名称,例如 OpenCV-2.4.6。

现在选择您的新用户库,然后单击 Add External JAR...

浏览C:\OpenCV-2.4.6\build\java\并选择opencv-246.jar。添加 jar 后,扩展opencv-246.jar并选择 Native library location,然后按 Edit...。

选择外部文件夹...,然后浏览以选择文件夹 C:\OpenCV-2.4.6\build\java\x64。如果您使用的是 32 位系统,则需要选择 x86 文件夹而不是 x64。

您的用户库配置应如下所示:

在新的 Java 项目上测试配置

现在开始创建一个新的 Java 项目。

在"Java 设置"步骤的"库"选项卡下,选择"添加库..."并选择 OpenCV-2.4.6,然后单击 Finish。

库应如下所示:

现在您已经创建并配置了一个新的 Java 项目,是时候测试它了。创建新的 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 上):

bash 复制代码
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

在 Linux 上解决此问题的一种解决方案是预加载英特尔MKL库(在终端中运行命令或将其添加到您的文件.bashrc``$LD_PRELOAD:``LD_PRELOAD中)。您的命令行应该与此类似(如果您已经设置了变量,请添加在之前):

java 复制代码
export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_sequential.so

然后,从设置了此环境变量(echo $LD_PRELOAD)的终端运行 Eclipse IDE,错误应该会消失。

参考文献:

1、《Using OpenCV Java with Eclipse》---------Barış Evrim Demiröz

相关推荐
吴冰_hogan2 分钟前
Java虚拟机(JVM)的类加载器与双亲委派机制
java·开发语言·jvm
程序员shen1616112 分钟前
注意⚠️:矩阵系统源码开发/SaaS矩阵系统开源/抖音矩阵开发优势和方向
java·大数据·数据库·python·php
菜鸟xiaowang4 分钟前
Android.bp java_library_static srcs配置
开发语言·python
怎么就重名了7 分钟前
MAC M4安装QT使用国内镜像源在线安装
开发语言·qt
Evand J8 分钟前
一维、线性卡尔曼滤波的例程(MATLAB)
开发语言·matlab
pl002015 分钟前
C++运算符重载实例
开发语言·c++·运算符重载·单目运算符·双目运算符·流运算符
煤泥做不到的!23 分钟前
挑战一个月基本掌握C++(第十二天)了解命名空间,模板,预处理器
开发语言·c++
青春男大25 分钟前
java队列--数据结构
java·开发语言·数据结构·学习·eclipse
云计算DevOps-韩老师37 分钟前
【网络云计算】2024第52周-每日【2024/12/26】小测-理论&实操-备份MySQL数据库并发送邮件-解析
linux·开发语言·网络·数据库·mysql·云计算·perl
froginwe1140 分钟前
Perl 特殊变量
开发语言