M1 맥북 친해지기 💻

[ M1 맥북 친해지기 ] OpenCV 설치하기

컴공생 C 2021. 2. 15. 18:23
반응형

 

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

 

conda-forge/miniforge

A conda-forge distribution. Contribute to conda-forge/miniforge development by creating an account on GitHub.

github.com

이 사이트 들어가서

다운받는다.

터미널에서 실행하기

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 의 절대 경로로 설정하면됨


반응형