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
十核心全员开工,直接拉满
验证
import cv2
print(cv2.__version__)
print(cv2.__file__)