MacOS 编译openCV动态库
  vooGAkUB9XFC 2023年11月02日 45 0

由于openCV的库文件在Linux、Unix端需要通过编译源码的方式得到,本文将简单介绍编译的教程和遇到的一些问题。

 

1. 下载opencv源码

下载opencv 代码,链接如下:https://opencv.org/releases/ 

MacOS 编译openCV动态库_Openv

2. 安装软件包管理工具Homebrew

打开终端Terminal,输入如下命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

3. 安装编译工具CMake和Ant

打开终端Terminal,输入如下命令:

brew install cmake
brew install ant
cmake ant jdk8

jdk自行安装

4. 配置环境

打开终端Terminal,输入如下命令:

export JAVA_HOME="path of jdk on your computer"
export PATH=$JAVA_HOME/bin:$PATH
#################opencv dylib##############
export JAVA_AWT_INCLUDE_PATH=$JAVA_HOME
export JAVA_AWT_LIBRARY=$JAVA_HOME
export JAVA_INCLUDE_PATH=$JAVA_HOME/indclude
export JAVA_INCLUDE_PATH2=$JAVA_HOME/include/darwin
export JAVA_JVM_LIBRARY=$JAVA_HOME
###############################

JAVA_HOME需要自己修改。

5. 编译opencv

打开opencv下载的目录,并且解压压缩包。打开终端Terminal,执行如下命令:

cd opencv-3.4.2

根据Macbook的芯片进行编译。

Arm64:

mkdir build; cd build
cmake -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCMAKE_OSX_ARCHITECTURES=x86_64 -DWITH_IPP=OFF -DCMAKE_UILD_TYPE=RELEASE -DBUILD_opencv_python3=ON -DINSTALL_PYTHON_EXAMPLES=ON -DINSTALL_C_EXAMPLES=OFF -DOPENCV_ENABLE_NONFREE=ON -DBUILD_EXAMPLES=ON -DBUILD_ZLIB=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ..

intel x86:

cmake -S . -B build

执行完成后会生成build目录。注意检查命令执行结果最后:

-- Java: 
-- ant: 
-- JNI: 
-- Java wrappers: 
-- Java tests:

上面的值如果没有说明环境变量没有配置成功。这时需要先删除build,再配置好环境(请参考4.配置环境),再执行以上指令构建build目录。

如果命令执行结果以上参数都有对应的JAVA_HOME,则表明构建成功。接着执行以下指令:

cd build/
make -j8

生成的两个文件目录:

opencv-3.4.2/build/bin/opencv-342.jar

opencv-3.4.2/build/lib/libopencv_java342.dylib

6. 引用opencv

在java代码里使用静态代码块直接引用:

static{ 

String opencvpath = "/Users/admin/Downloads/opencv-3.4.2-x86_64/build/lib/"; //The path and lib file depends on the path you install and compile opencv.

System.load(opencvpath+"libopencv_java342.dylib");

}

 将libopencv_java342.dylib 放到java path:/Library/Java/Extensions/

7. Q&A

在编译opencv的过程中可能出现一些问题,请参考以下链接进行修改:

https://www.cnblogs.com/tony-yang-flutter/p/16099716.html

https://ask.csdn.net/questions/7743523

for 博客园:

be689a09-d919-4f73-a9ea-b171768fd29f
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  YgmmQQ65rPv4   2023年11月19日   30   0   0 Java应用程序
  Y8XIq1u6ceQW   2023年11月19日   44   0   0 Java
  AeUHztwqqxTz   2023年11月02日   45   0   0 Javatomcatapache
  qdH5JHSHCtBs   2023年11月02日   82   0   0 Javadns cache
vooGAkUB9XFC
最新推荐 更多