http://opencv.org공식 사이트와 https://www.pyimagesearch.com/2018/05/28/ubuntu-18-04-how-to-install-opencv/에도 설치법이 나와 있어요.
이 글을 보셔도 되어요. 어차피 베껴왔어요.
우리가 할 것은 github에서 opencv 소스를 받아와서 직접 빌드하는 거예요.
사전 작업
sudo apt-get update sudo apt-get upgrade
일단 패키지 업데이트를 하고요.
sudo apt-get install python3 build-essential cmake unzip pkg-config libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran python3-dev
필요한 패키지를 다 받아요.
이제 소스를 홈 디렉토리에 받아보아요.
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.1.zip -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.1.zip
압축을 풀어요.
unzip opencv.zip opencv_contrib.zip
VirtualEnv
이제 VirtualEnv 환경 설정을 해보아요. 이 글에 virtualenv의 유용함이 잘 나와 있어요.
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip install virtualenv virtualenvwrapper sudo rm -rf ~/get-pip.py ~/.cache/pip
텍스트 에디터로 ~/.bashrc를 수정해요.
# virtualenv and virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
끝났어요. 이제 가상 환경을 만들어요.
mkvirtualenv [가상 환경 이름] -p python3
가상 환경에 들어가요.
workon [가상 환경 이름]
터미널 앞에 가상 환경 이름이 붙는다면 잘 된 거예요.
빌드
$ workon [가상 환경 이름] $ cd ~/opencv-3.4.1 $ mkdir build $ cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules \ -D PYTHON_EXECUTABLE=~/.virtualenvs/[가상 환경 이름]/bin/python \ -D BUILD_EXAMPLES=ON ..
이제 좀 기다리세요. 중간에 에러 뜨는지 터미널 창 계속 지켜보세요. ~~~~.h: no such file or directory 오류가 뜨면 build 디렉토리를 삭제하고 다시 만들어 들어간 뒤 cmake를 -D ENABLE_PRECOMPILED_HEADERS=OFF 옵션을 추가하여 실행하세요.
이제 인내의 시간이 왔어요.
make -j4
j뒤에 붙는 숫자는 스레드예요. j4는 작업을 동시에 네 개까지 진행할 수 있다는 거예요. 숫자가 높을수록 빨라지기는 하는데 그만큼 메모리도 많이 먹어요. 램이 부족하면 컴퓨터가 뻗어요. 숫자를 안 붙이면 스레드 수에 제한이 없어지지만 시도해보지는 마세요. 제가 해봤다가 노트북이 뻗었어요. make 중간에 오류가 나면 build 폴더를 삭제하고 다시 만들어 들어가 cmake를 한 뒤 -j 옵션을 붙이지 말고 그냥 make만 입력하세요.
사후 작업
sudo make install sudo ldconfig
cd /usr/local/lib/python3.6/site-packages/ sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
cd ~/.virtualenvs/[가상 환경 이름]/lib/python3.6/site-packages/ ln -s /usr/local/lib/python3.6/site-packages/cv2.so cv2.so
확인
$ workon [가상 환경 이름] $ python Python 3.6.5 (default, Apr 1 2018, 05:46:30) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '3.4.1' >>> exit()
이제 소스코드 zip파일은 삭제해도 돼요.