[python] 파이썬으로 카메라로부터 도형 인식하기

카메라로부터 도형을 실시간으로 인식하는 것은 컴퓨터 비전 애플리케이션에서 매우 일반적인 작업입니다. 파이썬의 OpenCV 라이브러리를 사용하여 간단한 코드로 이 작업을 수행할 수 있습니다.

필요한 라이브러리 설치

먼저, OpenCV를 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다.

pip install opencv-python

그리고 나서 다음과 같이 OpenCV를 임포트합니다.

import cv2

카메라에서 도형 인식하기

카메라로부터 도형을 인식하려면 다음 단계를 따릅니다.

  1. 카메라를 초기화합니다.
cap = cv2.VideoCapture(0)
  1. 연속적으로 프레임을 캡처하고 이를 처리합니다.
while True:
    ret, frame = cap.read()
    if not ret:
        break

    # 여기에 도형 인식을 위한 코드를 추가합니다.

    cv2.imshow('Frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

도형 인식 알고리즘 적용

도형을 인식하기 위해 OpenCV의 findContoursapproxPolyDP 함수를 사용할 수 있습니다. 이러한 함수들을 사용하여 도형의 외곽을 찾고, 각 도형에 대해 근사 다각형을 계산할 수 있습니다.

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, 0)
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

for contour in contours:
    approx = cv2.approxPolyDP(contour, 0.01 * cv2.arcLength(contour, True), True)

    if len(approx) == 3:
        shape = "triangle"
    elif len(approx) == 4:
        shape = "quadrilateral"
    else:
        shape = "circle"

    # 도형 주변에 텍스트나 모양을 그려줍니다.

이제, 카메라로부터 도형을 인식하는 간단한 파이썬 애플리케이션을 만들었습니다. 이를 토대로 더 복잡한 애플리케이션을 개발할 수 있습니다.

참고 자료