Note

OpenCV (18) - Contour 기본 정보 본문

Deep Learning/Computer Vision

OpenCV (18) - Contour 기본 정보

알 수 없는 사용자 2022. 6. 12. 00:00
728x90

cv2.contourArea(contour) : Contour의 면적을 구합니다.
cv2.arcLength(contour) : Contour의 둘레를 구합니다.
cv2.moments(contour) : Contour의 특징을 추출합니다.

import cv2
import matplotlib.pyplot as plt

image = cv2.imread('digit_image.png')
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(image_gray, 230, 255, 0) # 픽셀 값이 230 보다 큰 경우 255, 원본은 배경이 하얀색
thresh = cv2.bitwise_not(thresh) # 검정과 하얀색 반전

contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[0]
image = cv2.drawContours(image, contours, -1, (0,255,0), 4)

contour = contours[0]
area = cv2.contourArea(contour)
print(area)

length = cv2.arcLength(contour, True)
print(length)

M = cv2.moments(contour)
print(M)

plt.imshow(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))
plt.show()
Comments