커버리지 레벨(depth level) 다중 조건 커버리지(Multiple condition coverage) -> 가장 강력함 결정 포인트 내의 개별조건식 결과(참/거짓)에 대한 모든 가능한 논리적인 조합을 적어도 한번 수행 변형 조건/결정 커버리지(MC/DC) 결정포인트 내에 다른 개별조건식의 결과와는 독립적으로 해당 개별 조건식이 전체 조건식의 결과에 영향을 준다. 조건/결정 커버리지(Condition/decision coverage) 모든 개별조건식이 전체조건식 판단문의 결과값 확정에 관여하는 경우를 모두 고려한다. 조건 커버리지(Condition coverage) 프로그램 내에 있는 결정포인트 내의 모든 각 개별 조건식에 대한 모든 가능한 결과(참/거짓)에 대해 적어도 한번 수행한다. 다중 조건 ..
근사화 이후에 convex hull을 구한다. max_contour = cv2.approxPolyDP(max_contour, 0.02*cv2.arcLength(max_contour, True),True) hull = cv2.convexHull(max_contour) if debug: img_convexhull = img_input.copy() cv2.drawContours(img_convexhull, [hull], 0, (255,255,0), 5) cv2.imshow("convexHull", img_convexhull)
근사화 : 점이 많은데 좀 단순화 시키는것 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.0..
컨투어 특정 영역의 경계를 따라 같은 픽셀 강도를 갖는 지점을 연결하는 선 cv2.findCountours(image, mode, method) - image : 경계를 만들 이미지 - mode : - method : cv2.CHAIN_APPROX_SIMPLE(점), cv2.CHAIN_APPROX_NONE(선) import cv2 # 컬러 이미지를 불러온다. img_color = cv2.imread('./contour/dog2.jpg') # 불러온 컬러 이미지를 흑백화한다. img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY) # 흑백 이미지를 이진화한다. ret, img_binary = cv2.threshold(img_gray, 127,255,0) # 흰색과..