[ M1 맥북 친해지기 ] OpenCV 설치하기
1. Xcode 설치하기
** 기존에 있던 Xcode 또는 사용할 터미널 또는 Homebrew가 Rosetta를 이용하여 실행되지 않는지 확인해야함!!!
설정되어있다면 반드시 해제!!!해야함
라이센스 동의
sudo xcodebuild -license
설치
sudo xcode-select --install
2. Homebrew 설치하기
홈브류는 맥북의 패키지를 관리하는 역할
/usr/bin/ruby -e "%(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
홈브류 명령..?을 추가하고 싶다면 이걸 입력하고
nano ~/.zshrc
열리는 창에 아래를 입력하고 (HOMEBREW의 절대 경로는 다를 수 있으므로 더블 체크 하세요..)
export PATH=$PATH:/opt/homebrew/bin
ctrl+ X 를 입력
source ~/.zshrc
3. Conda 설치하기
github.com/conda-forge/miniforge#miniforge3
이 사이트 들어가서
다운받는다.
터미널에서 실행하기
bash bash <Miniforge3-MacOSX-arm64.sh 의 절대경로>
나는 파일 경로를 applications 에 다운 받아서 저런 경로 인데 <>지우고 그냥 저 파일의 절대 경로를 써주면 된다
그다음 막 뭐가 쳐져서 ctrl+ c 하면
Do you accept the license terms? [yes|no]
yes 입력
ENTER 치면 설치가 시작된다!!
엄청 긴 설치 화면을 지나면
질문이 한번더 나오는데 역시 yes를 입력하면
conda 설치 완료~
터미널을 종료하고 다시 열어서 아래 코드를 실행한다.
conda create --name <설정이름>
<>지우고 쓰면 됨
proceed 에서 y 입력
conda activate <환경이름>
conda install -y python==3.8.6
나는 파이썬 3.9.1 이 깔려있긴한데 tensorflow도 그렇고 애플이 지원하는 패키지를 쓰려면 3.8을 쓰는게 나을 거같아서 시키는 대로 했다.
** conda deactivate 하고 아래를 실행하고 따라하는 거 추천.. conda deactivate 는 해야되는지 모르겠지만 그냥 했다..a
원래 brew install 만 해도되는 것 같은데 나는 이렇게 하라고 터미널에서 알려줘서 아래 그대로 실행
arch -arm64 brew install wget
arch -arm64 brew install cmake
4. numpy 설치
아까 설정한 환경이 activate 상태로 아래를 실행해야한다.
wget https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha0/tensorflow_macos-0.1alpha0.tar.gz
tar xvf tensorflow_macos-0.1alpha0.tar.gz
cd tensorflow_macos/arm64
pip install --upgrade --no-dependencies --force numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl
cd ~
5. OpenCV 컴파일
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
cd opencv-4.5.0
mkdir build && cd build
기존에 build가 존재했다면 삭제하고 다시 5번 처음부터 시작
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=/Users/(자기 경로로 수정해서 쓰기)/opencv_contrib-4.5.0/modules \
-D PYTHON3_EXECUTABLE=/Users/(자기 경로)/miniforge3/(설정한 가상환경 이름)/dev/bin/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 ..
결과화면
Python 3: Libraries ,numpy (no generated 어쩌구..) 로 뜨면 일단 cmake의 경로를 확인하고
이런 에러가 뜨면 그냥 처음부터 로제타로 열려있는게 없는지, Homebrew 도 로제타로 설치한것이 아닌지 확인하고 다시 하는 것이 속편하다..
make -j8
이 명령어를 실행하면 5분정도 걸리는데 엄청 긴 무언가들이 나온다..
sudo make install
후...됏다...
Sym-link OpenCV 4 on macOS to virtual environment site-packages.
cd ~
mdfind cv2.cpython
cd /Users/(계정이름)/miniforge3/envs/dev/lib/python3.8/site-packages
# 하튼 miniforge3 의 절대 경로로 설정하면됨