споделете знанията си по програмиране и се научете чрез преподаване

вземете

Вземете скелет от двоично изображение

  • Вземете връзка
  • Facebook
  • Twitter
  • Pinterest
  • електронна поща
  • Други приложения

Набор от центрирани криви, който възниква от намаляването на първоначалната форма, се нарича скелет на изображение. Изчислението на скелета е инструмент за скаларен анализ на скала, който запазва топологичните свойства на оригиналната форма, както и геометричните свойства, в зависимост от използвания метод. Скелетът е известен още като средната ос и има различни приложения, например: разпознаване на букви, цифри или символи, идентификация на пръстови отпечатъци и много други.

В зелено можем да видим скелета на звезда.

За тази задача ще използваме алгоритмите за изтъняване, предложени от Zhang Suen и Guo Hall, и двата са подобни с малки вариации, изпълненията на тези алгоритми съм взел от модула ximgproc, така че ако имате този модул, компилиран във вашата версия на OpenCV, можете да използвате то директно.

Кодът C ++ за двата алгоритма е както следва:

Както можем да видим и както е обяснено в гореспоменатата мрежа, това е итеративен алгоритъм, който се стреми да изтъни фигурата, докато получи съответния скелет с дебелина 1 пиксел, за да определим метода, който да използваме, използваме thinningType със стойност, равна на 1 ще използваме Zhang Suen и със стойност равна на 2 Guo Hall.

Процесът на изтъняване за достигане на средната ос може да се види в следната анимация: