주사위 이미지에서 점 개수 세기
이제 컨투어를 찾았으니, 여기에서 정보를 추출해 보겠습니다.
이전 연습 문제에서는 보라색 주사위 이미지에서 컨투어를 찾기 위한 준비를 했습니다:

이번에는 이미지 속 점 개수를 세어서 주사위에 나온 숫자를 알아보겠습니다.
이전 연습 문제에서 찾은 컨투어는 contours로 미리 로드되어 있습니다.
모든 컨투어의 모양 크기를 담은 리스트 shape_contours를 만드세요. 만들고 나면 콘솔에서 shape_contours를 호출해 모든 컨투어의 모양 크기를 확인할 수 있습니다.
대부분의 컨투어 크기가 50보다 크지 않은지 확인하세요. 이 개수를 세면 이미지 속 점의 개수와 정확히 일치합니다.
show_image_contour(image, contours)는 Matplotlib을 사용해 모든 컨투어가 표시된 이미지를 보여주는 미리 로드된 함수입니다.
이 연습은 강의의 일부입니다
Python으로 배우는 이미지 처리
연습 안내
shape_contours를contours의 모든 컨투어 모양 크기 리스트로 만드세요.max_dots_shape를 50으로 설정하세요.- 컨투어의 모양 크기가 점의 최대 크기
max_dots_shape이하가 되도록 조건을 설정하세요. - 주사위 눈을 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create list with the shape of each contour
shape_contours = [cnt.shape[0] for cnt in ____]
# Set 50 as the maximum size of the dots shape
max_dots_shape = ____
# Count dots in contours excluding bigger than dots size
dots_contours = [cnt for cnt in contours if np.shape(cnt)[0] < ____]
# Shows all contours found
show_image_contour(binary, contours)
# Print the dice's number
print("Dice's dots number: {}. ".format(len(____)))