안녕하세요.
일주일간 정보처리기사 필기를 준비하느라 블로그에 글이 뜸했습니다.
8월 22일 3회차 마치고 다시 컴백했습니다.
오늘은 라즈베리파이 카메라를 사용하겠습니다.
자료도 많고, 카메라와 다른 장비를 연결해서 만드는 것이 중요하기 때문에 가볍게 짚고 넘어 가겠습니다.
https://www.devicemart.co.kr/goods/view?no=1077951
제가 조사해서 제일 가성비 좋은 카메라를 산게 아니라, 그냥 제일 대중적인 것을 샀기 때문에 잘 알아보시고 프로젝트에 맞는 카메라를 고르시기 바랍니다.
라즈베리파이와 카메라를 연결한 모습입니다.
카메라를 연결했으니, 라즈베리파이에서 설정합니다.
화질 죄송합니다. Camera enable합니다.
import picamera
import time
with picamera.PiCamera() as camera:
# setup
camera.brightness = 50 # 밝기
camera.rotation = 0 # 회전
camera.annotate_text = "Hello!" # 텍스트
# main roop
try:
camera.start_preview(fullscreen=False, window=(0, 0, 300, 300)) # 카메라 미리보기
time.sleep(1000)
print('start')
except KeyboardInterrupt:
camera.stop_preview() # 종료
print('interrupt')
finally:
camera.stop_preview() # 종료
print("clean up")
여러 블로그를 찾아보니 with문을 쓰기도 하고 picamera에서 객체를 생성하는 방법이 있습니다.
저는 with문을 쓰는 것을 추천합니다.
제가 요즘 파이썬을 좀더 파이썬스럽게 코딩하고 싶어 공부하고 있는 책입니다.
컨텍스트 매니저 (Context Manger)
컴퓨터 관리에서 중요한 것은 사용하지 않는 프로그램은 종료하는 것이 중요합니다.
예를 들어, 파일 관리에서 파일을 열면, 파일을 닫아야 합니다.
코드가 길어지면 빼먹는 일이 발생합니다. 작업을 완료한 파일을 닫지 않으면 리소스가 쌓여 문제를 일으킬 수 있습니다.
여기서 파이썬다운 코딩을 할 수 있는 with문을 소개합니다.
with문을 사용하여 Camera를 연동하면 with문과 끝난 동시에 리소스를 알아서 반납합니다.
좀 더 직관적이고 안전하게 코딩을 할 수있습니다.
'Embeded SW > Raspberry Pi' 카테고리의 다른 글
[Coral] USB Accelerator(Edge TPU) + 라즈베리파이4 (feat.코랄보드 대신 라즈베리파이를 사용하는 이유) (0) | 2020.08.25 |
---|---|
[라즈베리파이] 라즈베리파이 OpenCV 4.2 설치 (0) | 2020.08.24 |
[라즈베리파이] LED 점멸 (feat.LED에 무슨 저항을 꼽아야 할지 모를때) (0) | 2020.07.28 |
[라즈베리파이 준비] 라즈베리파이에 쿨러 장착하기 (0) | 2020.07.26 |
[라즈베리파이 준비] 라즈베리파이 개발환경(IDE) 준비 완료 (0) | 2020.07.25 |