1、本文环境
Mac OS版本12.3.1
OpenCV版本4.6.0
2、OpenCV的安装
2.1、首先检查下是否已经安装了cmake
cmake --version
若没有安装,执行命令:
brew install cmake
2.2、下载OpenCV源码
官方下载页: Releases - OpenCV
github下载:git clone GitHub - opencv/opencv: Open Source Computer Vision Library
或者 brew install opencv
2.3、构建OpenCV
OpenCV安装路径
将下载好的源码解压到 /usr/local 目录下,笔者的目录 /usr/local/opencv-4.6.0
这里建议将OpenCV安装到了/usr/local目录下,一般无需配置环境变量;若你安装到自定义的目录,为了让编译器找到OpenCV我们需要:
修改环境变量
在CMakeLists设置OpenCV_DIR为你的安装目录,例如你安装到~/opencv/opencv_libs,按下面的方式修改:
set(OpenCV_DIR ~/opencv/opencv_libs/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)
这种方式笔者还没有验证,交给喜欢折腾的人去实验吧,哈
创建release文件夹
cd /usr/local/opencv-4.6.0
mkdir release
进入release目录下,配置环境
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
编译安装
make -j8
这个过程需要耐心等待一下
-j8
指的是同时执行8个任务(jobs),可以加快编译速度。根据你CPU的性能,选择合适的参数将每个核心拉满即可。根据性能不同,编译时间有点长。编译成功后进行安装
sudo make install
make编辑的时候可能会报错,自行解决就可以了
笔者遇到了make[2]: *** No rule to make target `zlib', needed by `lib/libopencv_imgcodecs.4.6.0.dylib'. Stop.这个错误,原因是zlib这个包在Homebrew里面有冲突,解决办法就是卸载了有两个,
1、Homebrew然后重装一下
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”
2、将BUILD-ZLIB参数取消打勾(
-DBUILD_ZLIB=OFF
)
3、构建java环境
OpenCV构建Java环境需要安装JDK和ANT,我本机的环境是JDK 1.8、ANT 1.10.1
安装JDK
各位看官自行度娘一下吧,装完记得配置好环境变量。
安装ANT
brew install ant
cmake配置
这里参考一下参考官网的描述,需要配在cmake中配置-DBUILD_SHARED_LIBS=OFF
https://docs.opencv.org/4.6.0/d9/d52/tutorial_java_dev_intro.html
cmake -DBUILD_SHARED_LIBS=OFF ..
然后我们看一下To be built项中是否包含了java,如果存在就说明java会被编译出来,否则java会在Unavailable项中出现,我这里折腾了许久,试过N中方式始终找不到JDK环境,最后重启了系统就解决了...
如果java Unavailable,在日志的后面会有提示,如果后面项目为空则说明没有找到对应的环境
编译安装
检查java没问题后我们执行编译和安装即可
make -j8
sudo make install