이제 겨우 라즈베리파이에 카메라를 연결하고 푸시버튼을 촬영버튼처럼 사용할 수 있게 되었네요^^[바로가기] 오늘은 그 카메라 영상에 텍스트 글자를 입히는 오버레이를 테스트한 것을 올릴까 합니다. 요런 재미있는 테스트 코드를 제가 다~ 만들었으면 참 멋지겠지만... 그렇지 않습니다. 오늘 테스트하는 코드는 PiCamera에서 배포하는 예제입니다.^^[바로가기] 뭐 아무튼 따라하기 수준이긴 하지만 그래도 처음으로 카메라 영상에 뭔가 글자를 입혀보도록하죠^^
from picamera import PiCamera from time import sleep from gpiozero import Button button = Button(21) with PiCamera() as camera: camera.rotation = 180 camera.start_preview(fullscreen=False, window=(100,20,640,480)) camera.annotate_text = "Hello! World!" button.wait_for_press() camera.capture('image01.jpg') camera.stop_preview()
위 코드에서 특이할 것은 camera.annotate_text
입니다. 이 명령으로 오버레이가 되거든요^^
앗... 저렇게 흠.. 뭐 좀 작지만 Hello World가 찍혔네요~^^ 저장한 사진을 한 번 볼까요...
눼눼~~~^^
import picamera import time import itertools s = "This message would be far too long to display normally..." with picamera.PiCamera() as camera: camera.resolution = (640, 480) camera.rotation = 180 camera.framerate = 24 camera.start_preview(fullscreen=False, window=(100,20,640,480)) camera.annotate_text = ' ' * 31 for c in itertools.cycle(s): camera.annotate_text = camera.annotate_text[1:31] + c time.sleep(0.1)
이번 코드는 글자를 흐르게 하는 것입니다. 위 코드에서 0.1초 간격으로 글자를 옆으로 흐르게 합니다. 여기서 이 부분을 손쉽게 한것은 itertools.cycle
입니다. [바로가기]에 보면 나오지만 이 명령은 A,B,C라는 글자를 A,B,C,A,B,C,A,B,C... 이렇게 만들어 줍니다. 그래서 화면에 보면 한 문장이 계속 연달아 흐르는듯 보일 수 있습니다.
흠... preview는 스크린 캡쳐가 되지 않아서ㅠㅠ... 폰으로 찍었네요.ㅠㅠ.
import picamera import datetime as dt with picamera.PiCamera() as camera: camera.resolution = (640, 480) camera.rotation = 180 camera.framerate = 24 camera.start_preview() camera.annotate_background = picamera.Color('black') camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S') start = dt.datetime.now() while (dt.datetime.now() - start).seconds < 30: camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
이번 코드는 날짜와 시간을 표현해주는 것입니다.
이 예제는 그림과 코드만 보면 딱 뭔 이야기인지 알 수 있죠^^... 오늘은 이렇게 카메라 영상을 가지고 놀았네요^^
반응형
'Hardware > SBC (rasp, jetson, latte panda)' 카테고리의 다른 글
초보자용 라즈베리파이 3 B+에 라즈비안 설치 (8) | 2019.05.02 |
---|---|
라즈베리파이에서 초간편 카메라 Python으로 구현하기 (10) | 2016.05.06 |
라즈베리파이에서 Python 이용하여 GPIO 인터럽트 사용하기 (24) | 2016.04.18 |
푸시 버튼으로 라즈베리파이의 카메라 촬영하기 기능을 Python으로 구현하기 (20) | 2016.03.04 |
라즈베리파이에서 Python을 이용하여 GPIO 테스트 -버튼과 LED- (25) | 2016.02.26 |
라즈베리파이에서 Python으로 PiCamera 카메라 심플하게 시작하기 (15) | 2016.02.24 |
라즈베리파이 RPi Camera 카메라 설치 (18) | 2016.02.19 |