Сегментація — це процес розділення цифрового зображення на декілька сегментів.
Сегменти якісно просегментованого зображення повинні бути однорідними за текстурою, межі виділених сегментів повинні бути чіткими, сусідні
сегменти повинні відрізнятися за певними критеріями. Загалом, усі методи сегментації можна поділити на такі категорії: методи, що базуються
на кластеризації, методи з використанням гістограми, методи розростання областей, методи розрізу графа, водорозподілу, методи, що базуються
на виділенні країв, багатомасштабна сегментація.
Виділення країв.
Межі та краї областей сильно пов'язані, оскільки часто існує сильний перепад яскравості на кордонах областей.
Тому методи виділення країв використовуються як основа для іншого методу сегментації. Приклад коду для виділення контурів з використанням
детектора Кенні та результати при різних параметрах наведено нижче:
K-means — це ітераційний метод, який використовується для того, щоб розділити зображення на K кластерів. Базовий алгоритм наведений нижче:
1. Вибрати K центрів кластерів, випадково або на основі деякої евристики
2. Помістити кожен піксель зображення в кластер, центр якого найближче до цього пікселя
3. Знову визначити центри кластерів, усереднюючи всі пікселі в кластері
4. Повторювати кроки 2 і 3 до збіжності (наприклад, коли пікселі будуть залишатися в тому ж кластері)
Джерело
Метод водоподілу - це, заснований на областях. метод математичної морфології. Вододіл — це хребет, який ділить області різних річкових систем
Лінії вододілу — це кордони, що розділяють ділянки зображень. Перетворення водоподілу обчислює водозбірні басейни та лінії хребтів, при тому що водозбірні
басейни — відповідні області зображення, а лінії хребтів — це межі цих областей. Недолік - можлива надмірна сегмментація
Програмний код наведено тут
Порогова сегментація. Один із основних і найпростіших способів - це побудова сегментації за допомогою порогу.
Поріг - це ознака (властивість), що допомагає розділити шуканий сигнал на класи.
Операція порогового поділу полягає в зіставленні значення яскравості кожного пікселя зображення з заданим значенням порога.
Приклад програмної реалізації наведено нижче:
https://github.com/olehpitsun/CVforStudents/tree/master/src/task3/SegmentationMethods
Програмний код : https://github.com/olehpitsun/CVforStudents/tree/master/src/task2