본문 바로가기
Projects/OpenCV for RaspberryPi

OPENCV RASPBERRY PI2 (JESSIE) 2 - still shot(스틸 샷)

by Answer Choi 2016. 1. 26.
반응형

이제 파일을 옮겨서 본격적으로 해보겠습니다.


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


그리고 stillshot을 찍는 raspistill.c를 camcv.c로 변경하였습니다.


이제 폴더랑 파일이 변경되었으니 다시 cmakelists.txt 를 변경해야 합니다.


nano를 열어 cmakeliststxt를 변경합니다.


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



저장하고 나온 후 cmake를 해줍니다.


1
sudo cmake .
cs





cmake가 완료되면 make를 해줍니다.


1
sudo make
cs


make까지 완료가 되면 실행합니다.


1
./camcv -1000
cs


picam에 불이들어오면 제대로 촬영이 된 것입니다.


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


1
sudo nano camcv.c
cs


편집기에서  default_status(&state); 를 검색해서 밑에줄에 state.filename=”foobar.jpg”; 를 추가합니다.


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






빌드가 되면 카메라 촬영을 해봅니다.


1
./camcv -1000
cs


그럼 카메라에 빨간 불이 들어오며 촬영이 됩니다.


실제로 파일이 만들어 졌는지 확인해봅니다.


1
ls
cs



위에서 추가했던 파일명이 만들어진걸 확인할 수 있습니다.


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


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


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


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


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



반응형

인기글