이제부터는 OPENCV 라이브러리를 이용합니다.
관련 패키지를 설치합니다.
1. GTK + UVC viewer 설치
1 | sudo apt-get install guvcview | cs |
설치가 완료되면 설정을 해줍니다.
1 2 | sudo usermod -a -G video pi sudo modprobe uvcvideo | cs |
2. OPENCV 라이브러리 설치
1 | sudo apt-get install libopencv-dev | cs |
시간이 좀 걸립니다.ㅠ
3. 파이선 Opencv 설치
1 | sudo apt-get install python-opencv | cs |
4. face recognition 설치
위의 링크를 눌러 다운로드한 후 home/pi/ 에 압축을 풀어줍니다.(samba를 이용하면 편합니다)
압축을 푸신후 폴더로 이동하시면 bytefish-libfacerec-xxx라는 폴더가 나타나는데
편리한 작업을 위해 /home/pi/ 로 이동한 후 폴더명을 bytefish-libfacerec 로 변경해 줍니다.
다운받은 face recognition 폴더로 이동후 cmake합니다.
1 2 | cd /home/pi/bytefish-libfacerec sudo cmake . | cs |
make 하세요.
1 | sudo make | cs |
정상적으로 make가 완료되면 libopencv_facerec.a 가 생성된 걸 확인합니다.
이 폴더를 원래 작업중이던 /home/pi/camcv/libfacerec/ 폴더로 이동해 줍니다.
1 2 3 4 | mkdir /home/pi/camcv/libfacerec cd /home/pi/camcv/libfacerec cp -r /home/pi/bytefish-libfacerec/* . cd .. | cs |
다시 상위폴더로 이동하여 CMakeLists.txt 파일을 수정합니다.
1 | sudo nano CMakeLists.txt | 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 29 30 | cmake_minimum_required(VERSION 2.8) project(camcv) SET(COMPILE_DEFINITIONS -Werror) #OPENCV find_package( OpenCV REQUIRED ) #except if you’re pierre, change the folder where you installed libfacerec #optional, only if you want to go till step 6 : face recognition link_directories( /home/pi/camcv/libfacerec) include_directories(/opt/vc/include) include_directories(/opt/vc/include/interface/vcos) include_directories(/opt/vc/include/interface/vcos/pthreads) include_directories(/opt/vc/include/interface/vmcs_host/linux) include_directories(.) include_directories(/opt/vc/userland/host_applications/linux/libs/bcm_host/include) include_directories(/opt/vc/userland/interface/vcos) include_directories(/opt/vc/userland) include_directories(/opt/vc/userland/interface/vcos/pthreads) include_directories(/opt/vc/userland/interface/vmcs_host/linux) include_directories(/opt/vc/userland/interface/khronos/include) include_directories(/opt/vc/userland/interface/khronos/common) include_directories(/home/pi/camcv/) include_directories(/home/pi/camcv/gl_scenes/) include_directories(/home/pi/camcv/libfacerec/include/) add_executable(camcv RaspiCamControl.c RaspiCLI.c RaspiPreview.c camcv.c RaspiTex.c RaspiTexUtil.c gl_scenes/teapot.c gl_scenes/models.c gl_scenes/square.c gl_scenes/mirror.c gl_scenes/sobel.c gl_scenes/yuv.c tga.c ) target_link_libraries(camcv /opt/vc/lib/libmmal_core.so /opt/vc/lib/libmmal_util.so /opt/vc/lib/libmmal_vc_client.so /opt/vc/lib/libvcos.so /opt/vc/lib/libbcm_host.so /opt/vc/lib/libbrcmGLESv2.so /opt/vc/lib/libbrcmEGL.so libpthread.so libm.so /home/pi/camcv/libfacerec/libopencv_facerec.a ${OpenCV_LIBS}) | cs |
빨간색 부분이 기존 파일에 새로 추가된 부분입니다.
전체를 복사하시면 편리합니다.
Line 30 : 뒷부분에도 추가된 부분있습니다.
이제 camcv.c 파일을 새로 다운로드 합니다.
마찬가지로 samba를 이용하여 기존 camcv.c파일을 삭제후 복사해주세요.
이제 컴파일을 새롭게 한 후 실행합니다.
1 2 | sudo cmake . sudo make | cs |
컴파일이 완료되면 카메라를 실행합니다.
1 | ./camcv | cs |
rasbian 버전이 업되면서 xrdp도 한번에 안되더니 xrdp상태에서는 카메라가 실행이 안되네요.
할수 없이 라즈베리파이에 직접 모니터를 연결하여 실행시켰습니다.
카메라가 잘 실행됩니다.
카메라가 자동으로 꺼지지는 않으므로 ctrl+c를 눌러 종료하세요.
ls를 실행해보면 사진파일(foobar.bmp)이 생성된 걸 확인할 수 있습니다.
만약 원격데스크톱에서도 촬영이 안된다면??
1 2 3 4 5 | sudo apt-get remove tightvncserver sudo apt-get remove xrdp sudo apt-get install xrdp | cs |
tightvncserver를 삭제한 후 xrdp를 삭제해주세요.
그리고 다시 xrdp를 설치한 후 ./camcv를 실행하면 됩니다.
원격데스크톱에서 촬열한 화면입니다.
'Projects > OpenCV for RaspberryPi' 카테고리의 다른 글
OPENCV RASPBERRY PI3 (STRETCH) 6 - 얼굴인식 (34) | 2017.09.18 |
---|---|
OPENCV RASPBERRY PI3 (STRETCH) 5 - Video (0) | 2017.09.18 |
OpenCV for RaspberryPi 3(Rapsbian Stretch) 3-Still Shot(스틸샷) (5) | 2017.09.18 |
OpenCV for RaspberryPi 3(Rapsbian Stretch) 2-PI 카메라 촬영 (0) | 2017.09.15 |
OpenCV for RaspberryPi 3(Rapsbian Stretch) 1-준비하기 (0) | 2017.09.15 |