поділіться своїми знаннями з програмування та навчіться викладаючи

зображення

Отримати скелет з двійкового зображення

  • Отримати посилання
  • Facebook
  • Twitter
  • Pinterest
  • Електронна пошта
  • Інші програми

Набір центрованих кривих, що виникає внаслідок зменшення початкової форми, називається скелетом зображення. Розрахунок скелета - це нескалярний інструмент аналізу фігури, який зберігає топологічні властивості вихідної форми, а також геометричні властивості, залежно від використовуваного методу. Скелет також відомий як серединна вісь і має різні програми, наприклад: розпізнавання букв, цифр або символів, ідентифікація відбитків пальців та багато інших.

Зеленим кольором ми бачимо скелет зірки.

Для цього завдання ми використаємо алгоритми витончення, запропоновані Чжан Суеном та Го Холом, обидва подібні з невеликими варіаціями, реалізації цих алгоритмів я взяв з модуля ximgproc, тому, якщо у вас є цей модуль, скомпільований у вашій версії OpenCV, ви можете використовувати це безпосередньо.

Код C ++ для обох алгоритмів такий:

Як ми можемо бачити і як пояснюється у вищезазначеному Інтернеті, це ітераційний алгоритм, який прагне зріджувати фігуру до отримання відповідного скелета товщиною 1 піксель, для визначення методу, який ми використовуємо, ми використовуємо thinningType зі значенням, рівним 1 ми будемо використовувати Zhang Suen і зі значенням, рівним 2 Го Залу.

Процес витончення для досягнення середньої осі можна побачити в такій анімації: