Продолжая тему фильтров Габора, допилил текстурный сегментатор до рабочего состояния.
GaborTextureSegmentation.rar




Годится не на все случаи жизни, но в некоторых задачах вещь весьма полезная.
Я использовал кластеризацию k-means, количество кластеров задается вторым параметром функции:
SegmentImage(img,2,labels);

Метки кластеров хранятся в матрице labels.

Вот результат работы программы при количестве кластеров равном 6.

Вход:

Выход (метки):


Если нужно обучить программу узнавать какой-нибудь определенный тип текстуры, а не просто различать их, нужно обучить какой-нибудь классификатор (SVM например), подсовывая ему в качестве обучающих пар вектор Descriptors и метку класса.
Аналогично тому что сделано в этой теме http://www.compvision.ru/forum/index.php?showtopic=861
(10 пост), только вместо трехмерного цвета, будет 40 мерный Descriptors.
    • Like
    2