Порахуйте крапки на зображенні грального кубика
Тепер, коли ми знайшли контури, можемо отримати з них інформацію.
У попередній вправі ми підготували зображення фіолетових гральних кубиків, щоб знайти його контури:

Цього разу ми визначимо, яке число випало на кубику, підрахувавши крапки на зображенні.
Контури, знайдені в попередній вправі, попередньо завантажені як 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(____)))