[python] 파이썬을 사용하여 카메라에서 움직임 감지하기

OpenCV 및 Python 설치하기

먼저, OpenCV 및 Python을 설치해야 합니다. Python 3을 사용하는 경우, pip를 통해 OpenCV를 설치할 수 있습니다:

pip install opencv-python

카메라에서 움직임 감지하기

움직임 감지는 프레임 간의 차이를 통해 이뤄집니다. 먼저, 초기 프레임을 캡처하고, 다음 프레임과 비교하여 움직임을 감지할 수 있습니다. 아래는 간단한 예제입니다:

import cv2

# 비디오 캡처 객체 생성
cap = cv2.VideoCapture(0)

# 초기 프레임 캡처
ret, frame1 = cap.read()

while cap.isOpened():
    # 새로운 프레임 캡처
    ret, frame2 = cap.read()
    
    # 프레임 차이 계산
    diff = cv2.absdiff(frame1, frame2)
    
    # 차이를 흑백으로 변환
    gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY)
    
    # 이진화
    _, thresh = cv2.threshold(gray, 20, 255, cv2.THRESH_BINARY)
    
    # 움직임이 있는 영역 표시
    cv2.imshow('Motion Detection', thresh)
    
    # ESC 키로 종료
    if cv2.waitKey(1) & 0xFF == 27:
        break
    
    # 이전 프레임 업데이트
    frame1 = frame2

# 리소스 해제
cap.release()
cv2.destroyAllWindows()

이 예제 코드는 카메라에서 실시간으로 움직임을 감지하고 표시합니다. 또한 frame1frame2 사이의 차이를 계산하여 흑백으로 변환하고, 임계값을 기준으로 이진화하여 움직임이 있는 영역을 표시합니다.

마지막으로, 코드를 실행하고 카메라 앞에서 움직임을 시도해 보세요. OpenCV 라이브러리를 사용하면 파이썬으로 쉽게 움직임 감지 시스템을 구축할 수 있습니다.