ПочатиПочніть безкоштовно

Порахуйте крапки на зображенні грального кубика

Тепер, коли ми знайшли контури, можемо отримати з них інформацію.

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

3 images showing the steps to find contours

Цього разу ми визначимо, яке число випало на кубику, підрахувавши крапки на зображенні.

Контури, знайдені в попередній вправі, попередньо завантажені як 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(____)))
Редагувати та запускати код