?>

Hard Copy World

HCW

Raspberry Pi

Home > Learning >

Raspberry Pi

라즈베리 파이가 눈을 뜬다. Pi Camera 설치하기

페이지 정보

작성자 하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-04-10 16:02 조회15,429회 댓글0건

본문

 

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

여기서 말하는 카메라 모듈은 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() 을 사용한다는 것입니다. 레코딩을 위해 필요한 사항들을 체크하는 역할을 합니다.

 

참고자료

 


하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물

모든 전통이 한 때는 오해를 면치 못했다. 마찬가지로 모든 아이디어는 한 때는 비웃음을 면치 못했다. -홀브룩 잭슨 ::::: 느닷없이 떠오르는 생각이 가장 귀중한 것이며, 보관해야할 가치가 있는 것이다. -베이컨 ::::: 미리 숙고하면 힘든 일도 그저 실행에 옮기는 순간 쉬워진다. - 로버트 M. 피어식

추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.