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

Виявлення країв (1)

Фільтри також можна використовувати як «детектори». Якщо частина зображення відповідає шаблону ваг, повернуте значення буде дуже великим (або дуже малим).

У разі виявлення країв таким шаблоном є зміна інтенсивності вздовж площини. Фільтр, що виявляє горизонтальні краї, може виглядати так:

weights = [[+1, +1, +1],
           [ 0,  0,  0],
           [-1, -1, -1]]

У цій вправі створіть детектор країв по вертикалі та перевірте, як він працює на рентгенівському знімку кисті (im).

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

Біомедична обробка зображень у Python

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

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

  • Створіть масив ваг фільтра 3x3, який виявляє зміну інтенсивності зліва направо. Використовуйте лише значення 1, 0 та -1.
  • Згорніть im із цим детектором країв.
  • Побудуйте горизонтальні краї з колірною картою seismic. Використайте vmin=-150 та vmax=150, щоб налаштувати шкалу колірної карти.
  • Додайте шкалу кольорів (colorbar) і відобразіть результати.

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

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

# Set weights to detect vertical edges
weights = [[____], [____], [____]]

# Convolve "im" with filter weights
edges = ____

# Draw the image in color
plt.imshow(____, ____, vmin=-150, vmax=150)
____
format_and_render_plot()
Редагувати та запускати код