본문 바로가기

스마트팩토리?

[라즈베리파이] 카메라 찍기

예제에서는 picamera2를 사용했지만, 해당 라이브러리를 사용하면 이미지가 완전히 깨진 형태로 변환됬다. 따라서, 대신 opencv 라이브러리를 이용해서 카메라 찍기 기능을 구현해봤다.

동작은 매우 간단한데, 버튼을 누르면 사진을 찍는 것으로 구성되어 있다.

import cv2
from datetime import datetime
from gpiozero import Button
from signal import pause

# 카메라 초기화

cap = cv2.VideoCapture(-1)
cap.set(3, 640)
cap.set(4, 480)

def take():
  ret, frame = cap.read()
  filename = datetime.now().strftime("%Y-%m-%d|%H:%M:%S") + ".jpg"
  cv2.imwrite(filename, frame)


button = Button(18)
button.when_activated = take

pause()

cap.release()
cv2.destroyAllWindows()

라즈베리 파이 구성. USB 웹캠, 버튼 하나 연결
USB 웹캠을 연결하여 찍은 던파 마법사 굿즈 사진