Ерозија и проширење слика коришћењем ОпенЦВ-а у Питхон-у

Ерозија и проширење слика коришћењем ОпенЦВ-а у Питхон-у

Морфолошке операције модификују слике на основу структуре и распореда пиксела. Они примењују кернел на улазну слику за промену њених карактеристика у зависности од распореда суседних пиксела. Морфолошке операције као што су ерозија и дилатација су технике обраде слика, посебно за бинарне слике или слике у сивим тоновима. Они помажу у анализи облика који чисте буку и пречишћавају границе објеката.

Ерозија

Ерозија у обради слике је морфолошка операција која смањује и стањује границе објеката на слици уклањањем пиксела на ивицама објекта, чиме се објекти ефикасно смањују и уклањају мали бели шум.

Сврха

  • Смањује или еродира границе објеката у првом плану (обично белих пиксела).
  • Уклања фини бели шум и одваја предмете који се додирују.

Како то ради

  • Кернел (обично 3×3 5×5 или 7×7 матрица јединица) клизи преко слике.
  • Пиксел остаје бео (1) само ако су сви пиксели испод кернела бели; иначе постаје црна (0).
  • Овај процес смањује величину објекта и еродира ивице.

Дилатација

Дилатација је морфолошка операција која проширује границе објеката на слици додавањем пиксела на ивице објекта чинећи објекте већим и попуњавајући мале празнине или рупе.

сврха:

  • Проширује границе објеката у првом плану.
  • Наглашава или повећава карактеристике и попуњава мале празнине.

Како то ради:

  • Језгро је на сличан начин савијено преко слике.
  • Пиксел је постављен на бело (1) ако  бар један  одговарајућих пиксела испод језгра је бело.
  • Као резултат тога, беле области расту спајајући мале рупе или спајајући поломљене делове заједно.

Спровођење ерозије и дилатације

Хајде да имплементирамо ерозију и проширење са ОпенЦВ-ом у Питхон-у

Корак 1: Увезите библиотеке

Увешћемо потребне библиотеке

  • цв2 : ОпенЦВ библиотека за обраду слика.
  • нумпи : За нумеричке операције и за креирање језгара.
  • матплотлиб.пиплот : За приказ слика у бележницама.

Корак 2: Учитајте улазну слику и дефинишите елементе структуре (језгро)

 Језгро дефинише комшилук за операцију. Уобичајени избори су правоугаоници или дискови.

Коришћена слика се може преузети са овде .

Python
   img   =   cv2  .  imread  (  'input.webp'     0  )   plt  .  imshow  (  img     cmap  =  'gray'  )   plt  .  title  (  'Original Image'  )   plt  .  axis  (  'off'  )   plt  .  show  ()   kernel   =   np  .  ones  ((  5     5  )   np  .  uint8  )   

Излаз:

оригинал-мачкаОригинал

Корак 3: Нанесите ерозију

Ерозија функционише клизањем кернела преко слике. Пиксел остаје бео (255) само ако су сви пиксели испод кернела бели у супротном постаје црн (0). Ово смањује границе објекта и уклања мали бели шум.

Python
   img_erosion   =   cv2  .  erode  (  img     kernel     iterations  =  1  )   plt  .  imshow  (  img_erosion     cmap  =  'gray'  )   plt  .  title  (  'After Erosion'  )   plt  .  axis  (  'off'  )   plt  .  show  ()   

Излаз:

ерозијаПосле ерозије

Корак 4: Нанесите дилатацију

Дилатација клизи кернел преко слике и пиксел постаје бео ако је бар један пиксел испод језгра бео. Ово згушњава беле регионе или предмете и испуњава мале рупе.

Python
   img_dilation   =   cv2  .  dilate  (  img     kernel     iterations  =  1  )   plt  .  imshow  (  img_dilation     cmap  =  'gray'  )   plt  .  title  (  'After Dilation'  )   plt  .  axis  (  'off'  )   plt  .  show  ()   

Излаз:

дилатацијаПосле проширења

Апликације

Ерозија

  • Уклањање изолованог белог шума са слике.
  • Раздвајање објеката који се спајају или додирују.
  • Проналажење граница објекта смањењем величине објекта.

Дилатација

  • Попуњавање малих рупа или празнина у објектима.
  • Спајање поломљених или неповезаних делова истог објекта.
  • Користи се након ерозије (као део операције 'отварања') за враћање величине објекта уз истовремено уклањање буке.

Ерозија и дилатација су основне морфолошке операције у обради слике које нам омогућавају да прецизирамо чисте и манипулишемо облицима унутар слика. Коришћењем једноставних структурних елемената, ове технике помажу у уклањању шума одвојеним или повезивању објеката и побољшавају карактеристике слике што их чини основним алатима за ефикасну претходну обраду и анализу у задацима компјутерског вида са ОпенЦВ и Питхон-ом.

Креирај квиз