14주차 : 개인 프로젝트 Smart Music Player - Teddysir/rasberrypi GitHub Wiki
1. openCV와 tensorflow를 쓰기위하여 다른 버전의 라즈베리파이를 설정해주고 설치해줍니다.
openCV 설치과정
sudo apt install ffmpeg python3-opencv python3-pip
파이썬 버전이 3.7버전으로 깔렸다.
python3 --version
2. 라즈베리파이에4에 OpenCV설치
1. 라즈베리파이 버전 체크
pi@hun $cat /etc/os-release
위 와 같이 제 라즈베리파이 운영체제 버전은 10(buster)라고 합니다.
OpenCV는 Open Computer Vision으로 오픈 소스화된 컴퓨터 비전처리 라이브러리입니다. 아마 컴퓨터로 영상처리를 한다면, 가장 많이 사용되는 라이브러리라고 볼 수 있습니다. 거의 필수입니다.
2. apt 업데이트 및 업그레이드
$ sudo apt-get update
$ sudo apt-get upgrade
3. OpenCV를 설치하기위한 공간 확보
OpenCV패키지는 SD카드에서 5.5GB정도를 차지하고 라즈비안은 5.4GB를 차지하기에 사용하고싶지 않은 프로그램을 간단히 제거하여 카드에 공간을 확보해야합니다.
4. 버전 확인
uname -a
위 와 같이 저는 armv7l 이 나타났는데 32-bit OS를 뜻합니다.
5. OpenCV 소프트웨어 라이브러리 설치
OpenCV 소프트웨어는 다른 타사 소프트웨어 라이브러리를 사용하기에 먼저 설치를 해주어야합니다.
6. OpenCV 다운로드
위 사진과 같이 openCV.zip 을 다운받아주고 압축해제도 해줍니다.
7. OpenCV 소스코드를 다운받아줍니다.
파일에서 opencv 폴더로 이동합니다
mkdir build
cd build
폴더를 생성 후 생성한 폴더로 이동합니다
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 ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D WITH_QT=OFF \ -D WITH_GTK=ON \ -D WITH_OPENGL=ON \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.2/modules \ -D WITH_V4L=ON \ -D WITH_FFMPEG=ON \ -D WITH_XINE=ON \ -D ENABLE_PRECOMPILED_HEADERS=OFF \ -D BUILD_NEW_PYTHON_SUPPORT=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON ../
아까 설치한 cmake를 통해 openCV에 대한 컴파일 설정을 해줍니다.
아래 사진과 같이 나타났다면 정상설치가 완료된 것입니다.
컴파일 시 메모리 부족 현상을 방지하기 위해 주저장장치를 메모리로 사용할 수 있도록 설정합니다.
sudo nano /etc/dphys-swapfile
아래 사진과 같이 CONF_SWAPSIZE=100 을 #을 이용해 주석처리후 CONF_SWAPSIZE=2048이라는 문구를 입력해줍니다.
sudo /etc/init.d/dphys-swapfile restart
설정 파일을 재시작해서 변경된 값을 적용해줍니다.
make -j4
위 코드를 이용하여 컴파일을 진행해줍니다.
컴파일이 완료되면 위 처럼 나타나게됩니다.
8. 완료된 컴파일 결과물들을 설치합니다.
sudo make install
openCV 라이브러리를 찾을 수 있도록 아래 명령어를 실행시켜줍니다.
sudo ldconfig
dphys-swapfile 설정파일을 원래대로 수정해줍니다.
sudo nano /etc/dphys-swapfile
sudo /etc/init.d/dphys-swapfile restart
3. 카메라 테스트해보기
1. 아래 폴더로 들어가줍니다.
2. 터미널 열기후 아래 명령어를 입력하여 예제파일을 열어줍니다.
sudo nano video.py
내리다보면 아래와 같은 코드들이 보입니다.
cap=cv.VideoCapture(source)를 cap=cv.VideoCapture(-1)로 수정해주세요.
입력하여 카메라를 라즈베리파이와 연결해둔상태에서
python video.py
위 명령어를 입력후 카메라가 잘 켜지는지 확인합니다.
ls
cd opencv
ls
cd sample
ls
cd python
을 입력하게 되면 위와같이 py 파일이 많이 보입니다.
그 중 facedetect.py를 실행해보겠습니다. 우리는 파이썬 버전 3이라서 `python3 facedetect.py를 입력해보겠습니다.
위 사진과 같이 눈과 얼굴이 인식됩니다.
오류 발생 및 다음 주 차 수정사항
다음 주 차에서는 얼굴 인식뿐만이 아닌 카메라를 세워두었을때 사람을 인식할 수 있는 openpose를 설치하겠습니다.