知识储备 -- M1 Mac上编译安装opencv

1,515 阅读1分钟

M1上的血泪太多了,只能一点点记录一个个坑走过去。

编译安装zlib然而并没有什么用

wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.12.tar.gz
cd zlib-1.2.12
./configure
make
sudo make install

下载源代码及contrib包

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.6.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.6.0.zip

cmake一波

解压好之后在opencv文件夹里创建一个build文件夹

brew install gcc
export CC=/opt/homebrew/Cellar/gcc/11.3.0_1/bin/gcc-11
export CXX=/opt/homebrew/Cellar/gcc/11.3.0_1/bin/g++-11
mkdir build
cd build
cmake \
  -DCMAKE_SYSTEM_PROCESSOR=arm64 \
  -DCMAKE_OSX_ARCHITECTURES=arm64 \
  -DWITH_OPENJPEG=OFF \
  -DWITH_IPP=OFF \
  -D CMAKE_BUILD_TYPE=RELEASE \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D OPENCV_EXTRA_MODULES_PATH={opencv_contrib-4.6.0}/modules \
  -D PYTHON3_EXECUTABLE={which python3} \
  -D BUILD_opencv_python2=OFF \
  -D BUILD_opencv_python3=ON \
  -D INSTALL_PYTHON_EXAMPLES=ON \
  -D INSTALL_C_EXAMPLES=OFF \
  -D OPENCV_ENABLE_NONFREE=ON \
  -D BUILD_EXAMPLES=ON \
  -D BUILD_ZLIB=OFF ..
 
 make -j10
 sudo make install

十核心全员开工,直接拉满

screenshot-20220613-220125.png

验证

import cv2
print(cv2.__version__)
print(cv2.__file__)