[python] 파이썬으로 카메라로부터 도형 인식하기
카메라로부터 도형을 실시간으로 인식하는 것은 컴퓨터 비전 애플리케이션에서 매우 일반적인 작업입니다. 파이썬의 OpenCV 라이브러리를 사용하여 간단한 코드로 이 작업을 수행할 수 있습니다.
필요한 라이브러리 설치
먼저, OpenCV를 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다.
pip install opencv-python
그리고 나서 다음과 같이 OpenCV를 임포트합니다.
import cv2
카메라에서 도형 인식하기
카메라로부터 도형을 인식하려면 다음 단계를 따릅니다.
- 카메라를 초기화합니다.
cap = cv2.VideoCapture(0)
- 연속적으로 프레임을 캡처하고 이를 처리합니다.
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의 findContours
와 approxPolyDP
함수를 사용할 수 있습니다. 이러한 함수들을 사용하여 도형의 외곽을 찾고, 각 도형에 대해 근사 다각형을 계산할 수 있습니다.
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"
# 도형 주변에 텍스트나 모양을 그려줍니다.
이제, 카메라로부터 도형을 인식하는 간단한 파이썬 애플리케이션을 만들었습니다. 이를 토대로 더 복잡한 애플리케이션을 개발할 수 있습니다.
참고 자료
- OpenCV 공식 문서: https://docs.opencv.org/
- 파이썬 문서: https://docs.python.org/