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

Конвеєр обробки зображень

Ваш колега написав функцію попередньої обробки для зображень американської жестової мови, щоб підвищити точність вашої моделі машинного навчання. Ця функція бере зображення у відтінках сірого та виконує на ньому пошук контурів за Канні. Алгоритм Канні часто застосовують у класичному комп'ютерному баченні — він виділяє краї об'єктів на зображенні. Ви хочете застосувати його до всіх зображень у вашому наборі даних.

Функція, яку написав ваш колега, доступна у вашому середовищі як compute_edges(), і вона приймає зображення з розмірами (1, h, w), де висота h і ширина w — довільні цілі числа.

Масив Dask із вашими зображеннями доступний у середовищі як image_array. Цей масив має форму (N, h, w, 3), де N — кількість зображень, а 3 канали відповідають червоному, синьому та зеленому.

dask.array уже імпортовано для вас як da.

Ця вправа є частиною курсу

Паралельне програмування з Dask у Python

Переглянути курс

Інструкції до вправи

  • Перетворіть зображення з кольорового у відтінки сірого, взявши середнє вздовж останнього виміру.
  • Використайте метод .map_blocks() для масивів у відтінках сірого, щоб застосувати функцію compute_edges() до кожного зображення.
  • Виберіть лише нульове зображення контурів і обчисліть його.
  • Скористайтеся plt.imshow(), щоб побудувати зображення контурів.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Convert the color photos to grayscale
grayscale_images = ____

# Apply the edge detection function
edge_images = ____.____(____)

# Select the zeroth image and compute its values
sample_image = ____

# Show the result
____(____, cmap='gray')
plt.show()
Редагувати та запускати код