Note

OpenCV (14) - Contour 본문

Deep Learning/Computer Vision

OpenCV (14) - Contour

알 수 없는 사용자 2022. 6. 8. 23:33
728x90

이미지에서 Contour들을 찾는 함수

cv2.findContours(image, mode, method)

mode : Contour들을 찾는 방법
- RETR_EXTERNAL :바깥쪽 Line만 찾기
- RETR_LIST : 모든 Line을 찾지만, Hierarchy 구성 X
_ RETR_TREE : 모든 Line을 찾으며, 모든 Hierarchy 구성 O
method : Contour들을 찾는 근사치 방법
- CHAIN_APPROX_NONE : 모든 Contour 포인트 저장
- CHAIN_APPROX_SIMPLE : Contour Line을 그릴 수 있는 포인트만 저장

입력 이미지는 Gray Scale Threshold 전처리 과정이 필요

Contour들을 그리는 함수

cv2.drawContours(image, contours, contour_index, color, thickness)

contour_index : 그리고자 하는 Contour Line (전체 : -1)

import cv2
import matplotlib.pyplot as plt

image = cv2.imread('gray_image.jpg')
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(image_gray, 127, 255, 0)

plt.imshow(cv2.cvtColor(thresh,cv2.COLOR_GRAY2RGB))
plt.show()

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()

'Deep Learning > Computer Vision' 카테고리의 다른 글

OpenCV (16) - convexHull  (0) 2022.06.10
OpenCV (15) - Contour 사각형 외곽 찾기  (0) 2022.06.09
OpenCV (13) - 텍스트 그리기  (0) 2022.06.07
OpenCV (12) - 다각형 그리기  (0) 2022.06.06
OpenCV (11) - 원 그리기  (0) 2022.06.05
Comments