[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()
이 예제 코드는 카메라에서 실시간으로 움직임을 감지하고 표시합니다. 또한 frame1
과 frame2
사이의 차이를 계산하여 흑백으로 변환하고, 임계값을 기준으로 이진화하여 움직임이 있는 영역을 표시합니다.
마지막으로, 코드를 실행하고 카메라 앞에서 움직임을 시도해 보세요. OpenCV 라이브러리를 사용하면 파이썬으로 쉽게 움직임 감지 시스템을 구축할 수 있습니다.