Note
OpenCV (17) - Contour 유사 다각형 구하기 본문
728x90
cv2.approxPolyDP(curve, epsilon, closed)
근사치 Contour 구하기
curve : Contour
epsilon : 최대 거리(클수록 Point 개수 감소)
closed : 폐곡선 여부
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)
plt.imshow(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))
plt.show()
contour = contours[0]
epsilon = 0.01 + cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, epsilon, True)
image = cv2.drawContours(image, [approx], -1, (0,255,0), 4)
plt.imshow(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))
plt.show()
'Deep Learning > Computer Vision' 카테고리의 다른 글
OpenCV (19) - Filtering (0) | 2022.06.13 |
---|---|
OpenCV (18) - Contour 기본 정보 (0) | 2022.06.12 |
OpenCV (16) - convexHull (0) | 2022.06.10 |
OpenCV (15) - Contour 사각형 외곽 찾기 (0) | 2022.06.09 |
OpenCV (14) - Contour (0) | 2022.06.08 |
Comments