将 OpenCV Java 与 Eclipse 结合使用

配置 Eclipse

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

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

在"Java">"构建路径">"用户库"下导航,然后单击"新建..."。

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

现在选择您的新用户库,然后单击添加外部 JAR...。

浏览并选择 opencv-246.jar。添加 jar 后,扩展 opencv-246.jar 并选择本机库位置,然后按编辑...。C:\OpenCV-2.4.6\build\java\

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

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

在新的 Java 项目上测试配置

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

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

库应如下所示:

现在您已经创建并配置了一个新的 Java 项目,是时候测试它了。创建新的 java 文件。为方便起见,以下是入门代码:
导入 org.opencv.core.Core;
导入 org.opencv.core.CvType;
导入 org.opencv.core.Mat;
public class 你好
{
public static void main( 字符串\[\] 参数 )
{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
垫子垫子 = Mat.eye( 3, 3, CvType.CV_8UC1 );
System.out.println( "垫子 = " + mat.dump() );
}
}

运行代码时,应看到 3x3 单位矩阵作为输出。

就是这样,每当您开始一个新项目时,只需将您定义的 OpenCV 用户库添加到您的项目中,您就可以开始了。享受强大、不那么痛苦的开发环境:)

运行具有 OpenCV 和 MKL 依赖项的 Java 代码

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

英特尔 MKL 致命错误:无法加载 libmkl_avx2.so 或 libmkl_def.so。

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

导出 LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_sequential.so

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

相关推荐
huangdong_20 小时前
电商平台图片URL原图转换技术深度解析:从缩略图到高清原图的完整方案
java·后端·spring
染指111020 小时前
26.RAG进阶(Advanced RAG)-假设性问题索引
人工智能·windows·agent·rag·advanced rag
闵孚龙20 小时前
动态图机制:为什么 PyTorch 调试起来更舒服
人工智能·pytorch·python
記億揺晃着的那天20 小时前
Java 调用外部 Go 程序的实践:ProcessBuilder 在生产环境中的应用
java·golang·processbuilder
JAVA面经实录91720 小时前
Java 数据结构与算法 (终极完整学习文档)
java·数据结构·算法
甲维斯21 小时前
还要啥Codex!DeepSeek接入Zcode远程连接!
人工智能
百胜软件@百胜软件21 小时前
百胜软件亮相“AI消费新生活”主题日活动,AI智能运营平台入选市级案例征集
人工智能·生活·零售数字化·数智中台·珠宝行业
JAVA面经实录91721 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
一杯奶茶¥1 天前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
不能只会打代码1 天前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛