혼종 꼬지마루
#1 OpenCV 설치 본문
진행중인 RC Car자율주행 프로젝트를 진행하면서 내가 맡은 부분은 사용자 얼굴인식, LineTracer와 RC카 회로 구성이다.
현재 RC카 회로 구성은 끝나고 주행을 CNN으로 학습시킨 후 자율주행을 하려했으나 문제는 Data Set을 모으기 위해 주행을 해야하는데
조종이 쉽지않다는 점이다
일단 양쪽 바퀴가 각각 한꺼번에 돌아서(탱크를 생각하면 쉬움) 원하는 회전반경을 만들 수 없다는 단점이 있다.
아두이노 4휠 RC카 키트를 주문해서 라즈베리로 제어 보드만 바꿔주어 GPIO와 WiringPi를 사용하여 각각 초음파센서, 바퀴제어를 해주었다.
하지만 앞서 말한 듯이 회전반경이 생각처럼 마음에 들지 않았기에 새로 주문!
이 부분은 다음에 다시 포스팅 하도록 할 예정
지금 할 것은 사용자 얼굴인식에 대한 부분을 언급해볼까 한다.
현재 사용하고 있는 프로젝트 개발 환경이 Ubuntu Linux환경이기에 여기에 맞춰서 설명할 예정
먼저 OpenCV를 설치해야 하는데....
이게 좀처럼 쉽게 설치가 되지 않는다는 것이 단점...
잘못 설치하면 Python2에서만 돌아가는 것도 있고, cmake가 잘 안되는 경우도 있다.
이런점 때문에 에러가 뜰때마다 왜안되는지, 어떻게 해야하는지 찾으며 뻘짓을 3일을 했다...
자세한 부분은 http://webnautes.tistory.com/1030 에서 보고 참고하면 자세히 나와있고, 설치도 비교적 잘 되는 것을 확인했다....
먼저 OpenCV를 설치하기 전에 설치가 되어 있는지 확인하기 위해
1 2 3 4 5 | $ pkg-config --modversion opencv Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv' found | cs |
먼저 1번줄을 terminal창에 쳐서 2~5번줄처럼 출력되면 설치되어 있지 않다는 것이다.
하지만
1 | 2.4.9.1 | cs |
처럼 버전 정보가 나온다면
1 2 | $ sudo apt-get purge libopencv* python-opencv $ sudo apt-get autoremove | cs |
와 같이 삭제하고 진행
먼저 설치를 진행하기 전에 패키지의 업데이트와 업그레이드를 진행
1 2 | $ sudo apt-get update $ sudo apt-get upgrade | cs |
그 후에 필요한 다른 패키지들을 설치한다
1 2 3 4 5 6 7 8 9 10 | $ sudo apt-get install build-essential cmake $ sudo apt-get install pkg-config $ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev $ sudo apt-get install libv4l-dev v4l-utils $ sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev $ sudo apt-get install libqt4-dev $ sudo apt-get install mesa-utils libgl1-mesa-dri libqt4-opengl-dev $ sudo apt-get install libatlas-base-dev gfortran libeigen3-dev $ sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy | cs |
패키지들을 모두 설치한 후, 본격적으로 OpenCV를 설치하기 시작
1 2 3 4 5 6 7 8 9 10 11 | $ mkdir opencv $ cd opencv $ wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip $ unzip opencv.zip $ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip $ unzip opencv_contrib.zip $ cd opencv-3.4.0/ $ mkdir build $ cd build | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | $ cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_TBB=OFF \ -D WITH_IPP=OFF \ -D WITH_1394=OFF \ -D BUILD_WITH_DEBUG_INFO=OFF \ -D BUILD_DOCS=OFF \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D BUILD_EXAMPLES=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D WITH_QT=ON \ -D WITH_OPENGL=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules \ -D WITH_V4L=ON \ -D WITH_FFMPEG=ON \ -D WITH_XINE=ON \ -D BUILD_NEW_PYTHON_SUPPORT=ON \ -D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \ -D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \ -D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \ -D PYTHON2_LIBRARY= /usr/lib/x86_64-linux-gnu/libpython2.7.so \ -D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \ -D PYTHON3_PACKAGES_PATH=/usr/lib/python3.5/dist-packages \ -D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \ ../ | cs |
1 2 3 4 5 | $ cat /proc/cpuinfo | grep processor | wc -l $ make -j4 $ sudo make install | cs |
'Projects > RC Car Automatic Driving' 카테고리의 다른 글
RC Car 자율주행 프로젝트 시작 (0) | 2018.10.01 |
---|