조회 수 9300 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=lecture_rpi&wr_id=6


라즈베리 파이에 카메라 모듈을 설치하는 것만으로도 많은 것이 가능해집니다.

여기서 말하는 카메라 모듈은 PC에 사용하는 USB 캠이 아니라 (실제로는 비슷할 수도 있지만) 라즈베리 파이 전용으로 나온 Pi Camera 모듈입니다. 아래와 같이 라즈베리 파이 이더넷 소켓쪽에 있는 카메라용 케이블 소켓에 끼워주면 됩니다.

camera-connection

여기서는 카메라로 할 수 있는 기본적인 동작들을 Python으로 구현해 보겠습니다.

먼저 카메라를 라즈베리 파이에 연결합니다.

 

 

패키지 설치 확인 및 설정

 

먼저 라즈베리 파이의 패키지들 업데이트 한 번 하고, python-picamera 패키지를 확인합니다. 최신 이미지에는 이미 설치되어 있을겁니다.

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install python-picamera

라즈베리 파이 설정에 들어가서 카메라를 활성화 해줍니다.

  • sudo raspi-config
  • 'Enable Camera'

설정화면을 나오면 재부팅 해줍니다.

 

 

카메라 제어 (CONSOLE)

 

Console 에서 커맨드를 이용해서 카메라를 제어하는 방법입니다.

카메라 테스트를 위해 preview 이미지를 가져옵니다.

  • raspistill -v -o

Raspistill 을 이용해서 사진을 찍습니다.

  • raspistill -v -o xxx.jpg

Raspivid 를 이용하면 녹화가 가능합니다. 녹화 기본 설정이 1080p (1920×1080)​ 입니다. 5초간 비디오를 녹화해 봅니다.

  • raspivid -t 5000 -o xxx.h264

 

 

카메라 제어 (PYTHON)

 

이제 파이썬 언어를 이용해서 카메라를 제어하는 방법을 소개합니다.

Preview 이미지를 가져오는 소스는 아래와 같습니다.

  • nano camera_preview.py
#!/usr/bin/python
import time
import picamera

with picamera.PiCamera() as picam:
    picam.start_preview()
    time.sleep(10)
    picam.stop_preview()
    picam.close()

저장 후 아래 두 명령어 중 하나로 실행하시면 테스트 해볼 수 있습니다.

  • sudo python camera_preview.py
  • sudo ./camera_preview.py  (이 경우는 먼저 해당 파일에 chmod 명령어로 executable 권한을 부여해줘야 합니다.)

 

주의!!!  import picamera 부분에서 라이브러리 찾을 수 없다고 에러가 나올 수 잇습니다. 이 경우는 picamera가 제대로 설치되지 않은 경우입니다. 위 가이드대로 설치과정을 해도 인식이 안된다면 아래 명령어로 다시 설치하고 시도해보세요.

  • sudo pip install -U picamera

 

 

아래는 사진을 찍는 코드입니다.

#!/usr/bin/python
import time
import picamera
import os
path=os.getenv("HOME")+""  #adjust path for location of this program
with picamera.PiCamera() as picam:
    picam.rotation=90 #adjust as necessary
    picam.start_preview()
    time.sleep(5)
    picam.capture('pic.jpg')
    # picam.capture(path+'/photo.jpg',resize=(640,480))
    # time.sleep(2)
    picam.stop_preview()
    picam.close()

여기서는 사진을 jpg로 저장했는데 png, gif, bmp, yuv, rgb, raw 형식으로 저장도 가능합니다.

 

비디오를 녹화하는 코드입니다.

#!/usr/bin/python

import time
import picamera

with picamera.PiCamera() as picam:
    picam.start_preview()
    picam.start_recording('video.h264')
        picam.wait_recording(20)
        picam.stop_recording()
    picam.stop_preview()
    picam.close()

주의하실 점은... 앞선 이미지 촬영과는 달린 start_recording() 이후 time.sleep() 대신 picam.wait_recording() 을 사용한다는 것입니다. 레코딩을 위해 필요한 사항들을 체크하는 역할을 합니다.

 

참고자료


Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
52 Pi ARDUINO multi function shield 핀정보 및 FND 소스 2016.11.21 7659 0
51 Pi Arduino Pro Mini PIN 정보 file 2018.03.18 7126 0
50 Pi ATTINY85 PIN정보, Data sheet 2 file 2016.12.10 9240 0
49 Pi DIY 배터리팩 secret 2016.07.20 0 0
48 Pi ftp 설정하기 2015.10.01 7202 0
47 Pi ftp 포트 변경하기 2015.10.01 10005 0
46 Pi LCD interface 종류 및 Driver IC 2017.04.17 6343 0
45 Pi LiPo charger 리튬 배터리 충전모듈 사용법 file 2018.03.19 8649 0
44 Pi NodeMCU PIN 정보 file 2017.01.09 9060 0
43 Pi NPN과 PNP 트랜지스터의 차이 2019.01.03 14043 0
42 Pi OP AMP의 활용 2019.08.05 9888 0
41 Pi Raspberry pi 에 Bluetooth사용을 위한 bluez설치 및 실행 2017.05.24 9853 0
40 Pi SD Memory 카드 SPI 3.3V/5.0V 인터페이스 모듈 Atmega2560 제어 예제 2016.12.27 6926 0
39 Pi Simple DAC - PWM을 Voltage로 변환하는 회로 file 2016.11.21 7599 0
38 Pi SPI란? (Serial Peripheral Interface) 2017.04.20 15625 0
목록
Board Pagination ‹ Prev 1 2 3 4 Next ›
/ 4

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5