반응형

안녕하세요.

 

일주일간 정보처리기사 필기를 준비하느라 블로그에 글이 뜸했습니다.

 

8월 22일 3회차 마치고 다시 컴백했습니다.

 

오늘은 라즈베리파이 카메라를 사용하겠습니다.

 

자료도 많고, 카메라와 다른 장비를 연결해서 만드는 것이 중요하기 때문에 가볍게 짚고 넘어 가겠습니다. 

 

 

Raspberry Pi Camera V2  ( 27,000원 ) 

https://www.devicemart.co.kr/goods/view?no=1077951

 

라즈베리파이 카메라모듈 V2, 8MP (RPI 8MP CAMERA BOARD)

고품질 8MP Sony IMX219 이미지 센서를 통한 고정초점렌즈 / 3280 x 2464 (사진), 1080p30, 720p60, 640x480p60/90 (비디오) / CSI 인터페이스 / 25mm x 23mm x 9mm

www.devicemart.co.kr

제가 조사해서 제일 가성비 좋은 카메라를 산게 아니라, 그냥 제일 대중적인 것을 샀기 때문에 잘 알아보시고 프로젝트에 맞는 카메라를 고르시기 바랍니다. 

 

라즈베리파이와 카메라를 연결한 모습입니다.

 

쿨러 !

 

카메라를 연결했으니, 라즈베리파이에서 설정합니다.  

 

화질 죄송합니다. 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문과 끝난 동시에 리소스를 알아서 반납합니다.

 

좀 더 직관적이고 안전하게 코딩을 할 수있습니다.

728x90
반응형

+ Recent posts