[openCV] 컨투어 근사화사용하지않는공간/openCV2021. 5. 5. 22:49
Table of Contents
근사화 : 점이 많은데 좀 단순화 시키는것
cv2.approxPolyDP(curve, epsilon, closed, approxCurve=None)
- curve : 입력 곡선 좌표 - 컨투어 좌표
- epsilon : 근사화 정밀도 조절
- closed : True를 전달하면 폐곡선으로 간주
return approxCurve : 근사화된 곡선 좌표
# 모든 외곽선을 검사하는데
for pts in contours:
# 특정 외곽선에 의해 구성되는 면적이 1000보다 작다면 (1000은 생각보다 작음)
if cv2.contourArea(pts) < 1000:
continue
# 사각형만 그림을 그려라
approx = cv2.approxPolyDP(pts, cv2.arcLength(pts, True)*0.02, True)
if len(approx) != 4:
continue
# 구한 컨투어로 명함 사이즈로 만들기
w, h = 900,500 # 명함 사이즈
srcQuad = np.array([[approx[0,0, :]],[approx[1,0, :]],
[approx[2,0, :]],[approx[3,0, :]]]).astype(np.float32)
dstQuad = np.array([[0,0], [w,0], [w,h], [0,h]]).astype(np.float32)
pers = cv2.getPerspectiveTransform(srcQuad, dstQuad)
dst = cv2.warpPerspective(src,pers, (w,h))
cv2.polylines(src, pts, True, (0, 0, 255))
반응형
'사용하지않는공간 > openCV' 카테고리의 다른 글
[openCV] Convex hull 외곽선 구하기 (0) | 2021.05.06 |
---|---|
[openCV] 컨투어 contours (0) | 2021.05.05 |
[openCV] BGR2HVS : bgr을 hvs로 변환하는 프로그램 (0) | 2021.05.05 |
[openCV] Track Bar를 생성해 사용하는 법 (0) | 2021.05.05 |
[openCV] 이진화 작업 (0) | 2021.05.05 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!