mac m1 环境搭建 opencv 环境遇到的坑不少,特此记录
opencv 版本:4.5.5
踩坑安装官网有详细教程但是版本却只有3.x
概括如下:
- 安装ant:brew install ant
- 修改brew中opencv的配置:brew edit opencv
将 -DBUILD_opencv_java=OFF 改成 -DBUILD_opencv_java=ON - 最终构建:brew install --build-from-source opencv
最后构建也确实能成功,但是这个关键的{homebrew}/Cellar/opencv/3.x.x/share/OpenCV/java/ 目录却没有
于是去看看构建日志
/Users/{user}/Library/Logs/Homebrew/opencv
cat 1.cmake
很神奇,竟然是disabled,怪不得最后java没有构建
然后就是一顿百度操作,各种方法尝试终于。。
最终安装-
m1 有个适配的 jdk zulu-jdk 网上百度自行安装
-
修改上面brew edit opencv,加上如下
-DOPENCV_JAVA_TARGET_VERSION=1.8 -DJAVA_INCLUDE_PATH=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/include -DJAVA_AWT_LIBRARY=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/libawt.dylib -DJAVA_JVM_LIBRARY=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/libjvm.dylib
官网说的那个配置参数可能是版本太旧问题,总之不行
还要修改cmake 命令
在每个cmake,make 命令前加上 "arch" ,"-arm64"
然后在执行brew install --build-from-source opencv
再去看看日志就差不多了
所需要的资源都在 /opt/homebrew/Cellar/opencv/4.5.5_1/share
在idea 中需要将jar包引入
System.load("/opt/homebrew/Cellar/opencv/4.5.5_1/share/java/opencv4/libopencv_java455.dylib");
Mat src = Imgcodecs.imread("demo.jpg", Imgcodecs.IMREAD_UNCHANGED);
HighGui.imshow("BigImg", src);
HighGui.waitKey();
如果没有问题看到弹窗展示图片就行



