Macbook M1编译安装Java OpenCV

本文详细介绍了如何在Mac上编译安装OpenCV4.8.0,包括检查依赖、下载源码、创建build文件夹、配置编译脚本、运行编译和安装命令,以及测试验证过程。同时提到了4.6.0版本的注意事项,如需安装ffmpeg@4和解决代码中的小bug。
摘要由CSDN通过智能技术生成

OpenCV-4.8.0编辑安装

查询编译依赖

brew info opencv
确保所有需要模块都打上了✔,未打✔的需要使用`brew`进行安装

下载OpenCV源码

此处下载OpenCV源代码,选择Source,点击此处下载opencv_contrib-4.8.0
opecv下载
或者使用如下命令,通过Terminal下载

brew install wget
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.8.0.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.8.0.zip
unzip opencv_contrib.zip

编译安装

进入下载路径,并创建build文件夹

cd opencv-4.8.0
mkdir build && cd build

建立一个run.sh文件,并输入如下代码,其中BUILD_opencv_java设置为ONOPENCV_EXTRA_MODULES_PATH设置为下载的opencv_contribmodules路径

cmake \
-DCMAKE_SYSTEM_PROCESSOR=arm64 \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DWITH_OPENJPEG=OFF \
-DWITH_IPP=OFF \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local/opencv \
-DJAVA_INCLUDE_PATH=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/include \
-DJAVA_AWT_INCLUDE_PATH=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/include \
-DJAVA_INCLUDE_PATH2=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/include/darwin \
-DBUILD_opencv_python2=OFF \
-DBUILD_opencv_java=ON \
-DINSTALL_PYTHON_EXAMPLES=OFF \
-DINSTALL_C_EXAMPLES=OFF \
-DBUILD_ZLIB=OFF \
-DOPENCV_ENABLE_NONFREE=ON \
-DOPENCV_EXTRA_MODULES_PATH=/Users/guoquanhao/Downloads/opencv_contrib-4.8.0/modules \
-DBUILD_EXAMPLES=ON ..

输入bash run.sh运行该命令,实现cmake

--     Custom HAL:                  YES (carotene (ver 0.0.1))
--     Protobuf:                    build (3.19.1)
--
--   OpenCL:                        YES (no extra features)
--     Include path:                NO
--     Link libraries:              -framework OpenCL
--
--   Python (for build):            /usr/bin/python3
--
--   Java:
--     ant:                         /opt/homebrew/bin/ant (ver 1.10.13)
--     JNI:                         /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/include /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/include/darwin /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/include
--     Java wrappers:               YES
--     Java tests:                  YES
--
--   Install to:                    /usr/local/opencv
-- -----------------------------------------------------------------
--
-- Configuring done (32.6s)
-- Generating done (2.9s)
-- Build files have been written to: /Users/guoquanhao/OpenCV/opencv-4.8.0/build

完成之后输入make -j8或者make实现make

make -j8

J之后的数字8表示我们将使用所有8个内核来运行Make命令。您可以根据可用的硬件调整J选项。根据您的硬件,这应该需要6 -12分钟。

最后输入sudo make install进行安装

sudo make install

完成之后会在两个地方出现jar文件和lib文件,一个是build路径

opencv-4.8.0/build/bin/opencv-480.jar
opencv-4.8.0/build/lib/libopencv_java480.dylib

一个是安装路径

/usr/local/opencv/share/java/opencv4/libopencv_java480.dylib
/usr/local/opencv/share/java/opencv4/opencv-480.jar 

测试验证

完成后,利用Idea创建如下示例代码

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;

public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
        System.out.println( "mat = " + mat.dump() );
    }
}

设置java library path

-Djava.library.path=/usr/local/opencv/share/java/opencv4

在这里插入图片描述
设置Libraries

启动运行输出如下
在这里插入图片描述

/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/java -Djava.library.path=/usr/local/opencv/share/java/opencv4 -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=63621:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home:/Users/guoquanhao/IdeaProjects/OpenCVTest/out/production/OpenCVTest:/usr/local/opencv/share/java/opencv4/opencv-460.jar Main
mat = [  1,   0,   0;
   0,   1,   0;
   0,   0,   1]

Process finished with exit code 0

OpenCV-4.6.0编译安装

与4.8.0一样但是有如下两点注意,在编译过程中肯能遇见的报错

brew install ffmpeg@4
brew unlink ffmpeg
brew link ffmpeg@4
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值