본문 바로가기
Projects/OpenCV for RaspberryPi

OpenCV Raspberry Pi3 (JESSIE) 3 - STILL SHOT(스틸 샷)

by Answer Choi 2017. 4. 12.
반응형


이제부터는 앞서 다운로드한 userland를 이용하여 소스를 수정합니다.


1
2
3
4
5
cd
mkdir camcv
cd camcv
cp -/opt/vc/userland/host_applications/linux/apps/raspicam/* .
mv RaspiStill.c camcv.c
cs

userland 소스를 camcv폴더로 옮기고 파일명을 수정합니다.



CMakeLists.txt를 수정합니다.


1
sudo nano CMakeLists.txt
cs



기존 내용은 모두 삭제하고 아래의 내용을 복사해 넣으세요.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cmake_minimum_required(VERSION 2.8)
 project(camcv)
 SET(COMPILE_DEFINITIONS -Werror)
 
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/libGLESv2.so /opt/vc/lib/libEGL.so libpthread.so libm.so)
cs


Line 15~16번은 스크롤을 옆으로 하시면 뒤에 소스가 많이 있습니다. 모두 복사하세요.



저장후 나와 cmake 합니다.


1
sudo cmake .
cs



위와같이 완료되면 make 합니다.


1
sudo make
cs



이제 촬영을 해봅니다.


1
./camcv -1000
cs



파이카메라에 1초간 불이들어왔다 꺼진다면 성공한 것입니다.


이제 촬영한 파일을 jpg로 저장해 보겠습니다.


1
sudo nano camcv.c
cs


검색(ctrl+w)기능을 이용하여 default_status(&state); 를 검색해주세요.


그리고 바로 아래줄에  아래 코드를 입력합니다.


1
state.filename=”foobar.jpg”;
cs



저장하고 나와서 cmake . 와 make를 합니다.


1
2
3
sudo cmake .
 
sudo make
cs



다시 카메라를 실행합니다.


1
2
3
./camcv -1000
 
ls
cs


카메라가 정상적으로 1초간 불이켜졌다 꺼지고 나면 ls명령어로 jpg파일이 생성된걸 확인합니다.



P.S 혹시 아래와 같은 stray error가 뜬다며??


편집기에서 수정후 make를 하면 stary error가 발생할 수 있습니다.


이게 UTF-8로 작성했는데 ANSI에서는 깨지는 것 같습니다. 


이럴경우 편집기를 ANSI모드로 해놓고 작업을 하시던지, 아니면 raspberry pi에서 직접 편집해주세요. 


저 같은 경우 samba나 putty로 편집하니 위와같은 에러가 발생하더군요;;

반응형

인기글