본문 바로가기
Projects/OpenCV for RaspberryPi

OpenCV for RaspberryPi 3(Rapsbian Stretch) 4-OPENCV 라이브러리

by Answer Choi 2017. 9. 18.
반응형



이제부터는 OPENCV 라이브러리를 이용합니다.


관련 패키지를 설치합니다.


1. GTK + UVC viewer 설치


1
sudo apt-get install guvcview
cs


설치가 완료되면 설정을 해줍니다.


1
2
sudo usermod --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 설치


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 -/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 파일을 새로 다운로드 합니다.

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를 실행하면 됩니다.



원격데스크톱에서 촬열한 화면입니다.

반응형

인기글