조회 수 10525 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

https://neosarchizo.gitbooks.io/raspberrypiforsejonguniv/content/chapter4.html



파이썬 코드를 이용해 파이 카메라를 제어하는 방법을 배웁니다.

프리뷰 보기

파이썬을 이용해 카메라의 프리뷰를 본다.

  1. nano를 열고 다음 코드를 입력한 뒤 camera.py로 저장한다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    sleep(10)
    camera.stop_preview()
    
  2. 다음을 입력해 camera.py를 실행한다. 실행하면 10초간 프리뷰가 뜨는 것을 볼 수 있다.
    python camera.py
    
  3. PiCamera의 rotation 메서드를 이용해 카메라의 각도를 조정할 수 있다. 다음은 화면을 180도 돌리는 것이다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.rotation = 180
    camera.start_preview()
    sleep(10)
    camera.stop_preview()
    
  4. 다음과 start_preview의 alpha 매개변수를 이용해 투명도를 조정할 수 있다. 투명도는 0~255 안에서 설정할 수 있다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview(alpha=200)
    sleep(10)
    camera.stop_preview()
    

사진

파이썬을 이용해 사진을 찍어본다.

  1. PiCamera의 capture 메서드를 이용해 사진을 찍을 수 있다. capture 매개변수에 저장할 파일명을 입력한다. 다음을 실행하면 5초 있다가 사진을 찍어 저장한다.
    파이 카메라 조도가 설정되는 시간을 기다려주기 위해 사진을 찍기 전 최소 2초 정도 여유를 두는 것이 좋다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    sleep(5)
    camera.capture('/home/pi/image.jpg')
    camera.stop_preview()
    
  2. 다음은 5초마다 반복하며 사진을 찍는 코드다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    for i in range(5):
       sleep(5)
       camera.capture('/home/pi/image%s.jpg' % i)
    camera.stop_preview()
    

비디오

파이썬을 이용해 동영상을 찍어본다.

PiCamera의 start_recording 메서드를 이용해 동영상을 찍을 수 있다. start_recording 매개변수에 저장할 파일명을 입력한다. 동영상 촬영을 끝낼 때는 stop_recording 메서드를 이용한다. 다음은 10초 동안 영상을 찍는 것이다.

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
camera.start_recording('/home/pi/video.h264')
sleep(10)
camera.stop_recording()
camera.stop_preview()

효과

PiCamera의 다양한 효과를 사용해본다.

해상도

파이 카메라로 찍는 사진의 최대 해상도는 2592 x 1944다. 다음은 최대 해상도로 사진을 찍는 코드다. 최대 해상도로 사진을 찍을때는 framerate을 15로 설정해줘야 한다.

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.resolution = (2592, 1944)
camera.framerate = 15
camera.start_preview()
sleep(5)
camera.capture('/home/pi/max.jpg')
camera.stop_preview()

글자 표시

사진에 글자를 추가할 수 있다.

  1. 다음은 사진에 Hello World!를 찍는 코드다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    camera.annotate_text = "Hello world!"
    sleep(5)
    camera.capture('/home/pi/Desktop/text.jpg')
    camera.stop_preview()
    
  2. 다음은 글자 크기를 50으로 설정하는 것이다. 글자 크기는 6에서 160까지 설정할 수 있다. 아무것도 설정하지 않은 경우 기본 크기는 32다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    camera.annotate_text_size = 50
    camera.annotate_text = "Hello world!"
    sleep(5)
    camera.capture('/home/pi/Desktop/text.jpg')
    camera.stop_preview()
    
  3. 다음은 글자색과 배경색을 바꾸는 것이다. 색을 설정할때는 Color를 import하는 것을 명심해야한다.

    from picamera import PiCamera, Color
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    camera.annotate_background = Color('blue')
    camera.annotate_foreground = Color('yellow')
    camera.annotate_text = " Hello world "
    sleep(5)
    camera.capture('/home/pi/Desktop/text.jpg')
    camera.stop_preview()
    

밝기

파이 카메라의 밝기를 설정할 수 있다.

  1. 다음은 밝기를 70으로 설정하는 것이다. 밝기는 0에서 100까지 설정할 수 있다. 기본 밝기는 50이다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    camera.brightness = 70
    sleep(5)
    camera.capture('/home/pi/bright.jpg')
    camera.stop_preview()
    
  2. 다음은 밝기를 점차적으로 바꿔주는 코드다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    for i in range(100):
     camera.annotate_text = "Brightness: %s" % i
     camera.brightness = i
     sleep(0.1)
    camera.stop_preview()
    

대비

파이 카메라의 대비를 설정할 수 있다. 다음은 대비를 점차적으로 바꿔주는 코드다.

  from picamera import PiCamera
  from time import sleep

  camera = PiCamera()

  camera.start_preview()
  for i in range(100):
    camera.annotate_text = "Contrast: %s" % i
    camera.contrast = i
    sleep(0.1)
  camera.stop_preview()

이미지 효과

파이 카메라의 이미지 효과를 설정할 수 있다. 이때 image_effect 메서드를 사용하며, 다음과 같은 옵션을 사용할 수 있다. 기본 값은 none이다.

none, negative, solarize, sketch, denoise, 
emboss, oilpaint, hatch, gpen, pastel, 
watercolor, film, blur, saturation, colorswap,
washedout, posterise, colorpoint, colorbalance,
cartoon, deinterlace1, deinterlace2
  1. 다음은 colorswap효과를 사용한 것이다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    camera.image_effect = 'colorswap'
    sleep(5)
    camera.stop_preview()
    
  2. 5초마다 이미지 효과를 바꾸는 코드다.

    from picamera import PiCamera
    from time import sleep
    
    camera = PiCamera()
    
    camera.start_preview()
    for effect in camera.IMAGE_EFFECTS:
       camera.image_effect = effect
       camera.annotate_text = "Effect: %s" % effect
       sleep(5)
    camera.stop_preview()
    

자동 화이트밸런스

파이 카메라에서 자동 화이트밸런스를 설정할 수 있다. 이때 awb_mode 메서드를 사용하며, 다음과 같은 옵션을 사용할 수 있다. 기본 값은 auto이다. 자동 화이트밸런스의 값들은 camera.AWB_MODES로 확인할 수 있다.

off, auto, sunlight, cloudy, shade, tungsten,
fluorescent, incandescent, flash, horizon

다음은 sunlight 모드를 사용한 것이다.

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
camera.awb_mode = 'sunlight'
sleep(5)
camera.capture('/home/pi/sunlight.jpg')
camera.stop_preview()

노출

파이 카메라의 노출을 설정할 수 있다. 이때 exposure_mode 메서드를 사용하며, 다음과 같은 옵션을 사용할 수 있다. 기본 값은 auto이다. 노출의 값들은 camera.EXPOSURE_MODES로 확인할 수 있다.

off, auto, night, nightpreview, backlight,
spotlight, sports, snow, beach, verylong,
fixedfps, antishake, fireworks

다음은 beach 모드를 사용한 것이다.

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
camera.exposure_mode = 'beach'
sleep(5)
camera.capture('/home/pi/beach.jpg')
camera.stop_preview()

Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
26 MFC 커맨드 창 속성 제어 2009.09.01 38033 0
25 LINUX 커맨드라인에서 url 접근 - wget 사용법 2015.09.30 12131 0
24 Pi 커패시터 용량, 오차 및 정격전압 판별법 (Capacitor Code) file 2016.11.21 15881 0
23 C# 컬렉션(Collection) - ArrayList / HashTable / Queue / Stack 2012.11.12 16123 0
22 C 콘솔 창에서 글자 색깔 바꾸기 2005.08.05 27329 0
21 C 퀵 정렬 Quick Sort file 2005.08.10 38834 0
20 Pi 키르히호프의 법칙 2016.12.05 10603 0
19 Android 킷캣에서 바뀐 점 정리 2014.01.26 12175 0
18 일반 탐색기 오른쪽 팝업메뉴에 항목 추가하기 2005.08.05 42100 0
17 JAVA 텍스트 파일 읽기, 쓰기 2015.10.21 13097 0
16 C# 텍스트 파일에서 읽기/쓰기 2013.08.08 12978 0
15 C# 트레이 아이콘 만들기 2013.08.05 13231 0
» Pi 파이썬 코드를 이용한 파이카메라 제어 2018.04.24 10525 0
13 PHP 파일 데이터 저장하고 불러오기(파일 입출력) 2015.09.30 8595 0
12 MFC 파일 읽기 전용 해제 및 설정 2009.09.11 54390 0
목록
Board Pagination ‹ Prev 1 ... 28 29 30 31 32 33 34 Next ›
/ 34

나눔글꼴 설치 안내


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

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

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5