14주차 : 개인 프로젝트 Smart Music Player - Teddysir/rasberrypi GitHub Wiki

1. openCV와 tensorflow를 쓰기위하여 다른 버전의 라즈베리파이를 설정해주고 설치해줍니다.

image

openCV 설치과정

image sudo apt install ffmpeg python3-opencv python3-pip

파이썬 버전이 3.7버전으로 깔렸다.

image python3 --version

2. 라즈베리파이에4에 OpenCV설치

1. 라즈베리파이 버전 체크

pi@hun $cat /etc/os-release

image

위 와 같이 제 라즈베리파이 운영체제 버전은 10(buster)라고 합니다.

OpenCV는 Open Computer Vision으로 오픈 소스화된 컴퓨터 비전처리 라이브러리입니다. 아마 컴퓨터로 영상처리를 한다면, 가장 많이 사용되는 라이브러리라고 볼 수 있습니다. 거의 필수입니다.

2. apt 업데이트 및 업그레이드

$ sudo apt-get update $ sudo apt-get upgrade image

3. OpenCV를 설치하기위한 공간 확보

OpenCV패키지는 SD카드에서 5.5GB정도를 차지하고 라즈비안은 5.4GB를 차지하기에 사용하고싶지 않은 프로그램을 간단히 제거하여 카드에 공간을 확보해야합니다.

image

4. 버전 확인

uname -a

image

위 와 같이 저는 armv7l 이 나타났는데 32-bit OS를 뜻합니다.

5. OpenCV 소프트웨어 라이브러리 설치

OpenCV 소프트웨어는 다른 타사 소프트웨어 라이브러리를 사용하기에 먼저 설치를 해주어야합니다.

image

6. OpenCV 다운로드

image

위 사진과 같이 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에 대한 컴파일 설정을 해줍니다.

아래 사진과 같이 나타났다면 정상설치가 완료된 것입니다.

image

컴파일 시 메모리 부족 현상을 방지하기 위해 주저장장치를 메모리로 사용할 수 있도록 설정합니다.

sudo nano /etc/dphys-swapfile

image

아래 사진과 같이 CONF_SWAPSIZE=100 을 #을 이용해 주석처리후 CONF_SWAPSIZE=2048이라는 문구를 입력해줍니다.

image

sudo /etc/init.d/dphys-swapfile restart

설정 파일을 재시작해서 변경된 값을 적용해줍니다.

image

make -j4

위 코드를 이용하여 컴파일을 진행해줍니다.

image

컴파일이 완료되면 위 처럼 나타나게됩니다.

8. 완료된 컴파일 결과물들을 설치합니다.

sudo make install openCV 라이브러리를 찾을 수 있도록 아래 명령어를 실행시켜줍니다. sudo ldconfig dphys-swapfile 설정파일을 원래대로 수정해줍니다. sudo nano /etc/dphys-swapfile

image

image

sudo /etc/init.d/dphys-swapfile restart

3. 카메라 테스트해보기

1. 아래 폴더로 들어가줍니다.

image

2. 터미널 열기후 아래 명령어를 입력하여 예제파일을 열어줍니다.

sudo nano video.py

내리다보면 아래와 같은 코드들이 보입니다.

cap=cv.VideoCapture(source)를 cap=cv.VideoCapture(-1)로 수정해주세요.

image

image

입력하여 카메라를 라즈베리파이와 연결해둔상태에서 python video.py 위 명령어를 입력후 카메라가 잘 켜지는지 확인합니다.

image ls cd opencv ls cd sample

image

ls cd python 을 입력하게 되면 위와같이 py 파일이 많이 보입니다.

그 중 facedetect.py를 실행해보겠습니다. 우리는 파이썬 버전 3이라서 `python3 facedetect.py를 입력해보겠습니다.

image

위 사진과 같이 눈과 얼굴이 인식됩니다.

오류 발생 및 다음 주 차 수정사항

다음 주 차에서는 얼굴 인식뿐만이 아닌 카메라를 세워두었을때 사람을 인식할 수 있는 openpose를 설치하겠습니다.