Java使用opencv

Java安装opencv(Mac)

下载源码

https://github.com/opencv/opencv

直接下载压缩包就可

安装cmake和make

CMake和Make都是用于自动化编译和构建软件的工具,它们在软件开发中起着至关重要的作用。

  1. CMake:CMake是一个跨平台的构建系统,它可以生成Makefile文件或其他形式的构建文件,这些文件可以用于指导编译器如何编译和链接源代码。CMake的主要优点是它可以在多种操作系统和编译环境中使用,包括Linux、macOS、Windows、GCC、Clang、Visual Studio等。
  2. Make:Make是一个用于自动化编译的工具,它读取名为Makefile的文件,然后根据这个文件中的指令来编译源代码和链接对象文件,生成可执行文件或库文件。Make可以处理项目中的依赖关系,只重新编译那些自上次编译后被修改过的文件,从而加快编译速度。

在使用CMake和Make构建一个项目时,一般的步骤是:

  1. 首先,运行CMake来生成Makefile文件。在这个过程中,CMake会检查系统中的编译器、库和工具是否满足项目的需求,然后生成相应的Makefile文件。
  2. 然后,运行Make来编译项目。Make会读取Makefile文件,然后根据文件中的指令来编译源代码和链接对象文件,生成可执行文件或库文件。
 brew install cmake
 
 cmake -version 
 
 brew install make
 
 gcmake -version
 

运行Make来编译OpenCV。

在你下载OpenCV源代码的目录中,创建一个新的目录,比如叫做"build"。

  1. 打开终端,切换到"build"目录,然后运行CMake来配置编译选项。一般来说,你可以使用以下命令:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/Users/tal/Environment/opencv490 ..

这个命令会配置CMake使用Release模式编译OpenCV,并且将编译的结果安装到/Users/tal/Environment/opencv490 目录。

..CMakeLists.txt文件所在的目录(上一级)

运行Make来编译OpenCV。你可以使用以下命令:

make -j8

这个命令会使用8个线程来编译OpenCV。你可以根据你的CPU核心数来调整-j参数。

安装OpenCV:

  1. 编译完成后,运行以下命令来安装OpenCV:
sudo make install

这个命令会将编译的结果安装到你在CMake命令中指定的目录。

完成以上步骤后,你应该可以在/Users/tal/Environment/opencv490/目录下找到OpenCV的动态库文件,比如libopencv_core.so(在Linux上)或libopencv_core.dylib(在Mac OS X上)。

/Users/tal/Environment/opencv490/share/java/opencv4/下可以看到libopencv_java490.dylib,和opencv-490.jar

Java调用

加载

System.load("/Users/tal/Environment/opencv490/share/java/opencv4/libopencv_java490.dylib");

libopencv_java490.dylib是OpenCV的Java接口的本地库文件。这个文件是OpenCV为Java提供的本地方法的实现。

在这个文件名中,lib是库文件的通用前缀,opencv_java490表示这是OpenCV的Java接口,490是版本号,表示这是OpenCV 4.9.0版本的Java接口,.dylib是Mac OS X系统中动态库文件的扩展名。

当你在Java程序中使用OpenCV的功能时,JVM(Java虚拟机)会调用这个库文件中的函数。为了让JVM能够找到这个库文件,你需要在运行Java程序时设置java.library.path系统属性或DYLD_LIBRARY_PATH环境变量,或者使用System.loadSystem.loadLibrary方法加载这个库文件。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值