Фильтр Kuwahara выполняет нелинейную фильтрацию изображений с сохранением резких краев. После фильтрации изображение похоже на грубо нарисованную красками, картину.
Маска фильтра
Допустим у нас стоит задача поиска водоемов на космоснимке. На этапе предварительной обработке необходимо очистить изображение от шумов и сделать его более гладким и однородным. Причем должна быть сохранена информация о границах объектов в изображении. Применяем к исходному изображению фильтр kuwahara.
Исходное изображение
Kuwahara 21x21
После фильтрации границы стали более четкими, и к изображению можно применить какой-нибудь контурный фильтр, например детектор Канни.
Детектор Канни, примененный после фильтрации kuwahara
Для сравнения, если бы мы в качестве предварительной обработке использовали бы фильтр Гаусса, получили бы следующие изображения:
Фильтр Гаусса 21x21
Хоть это и не самый лучший фильтр для создания эффекта акварели или гуаши, но во многих случаях, на мой взгляд, получается очень даже красивый эффект.
Исходное изображение
Kuwahara 21x21
Алгоритм
- В окрестности каждого пикселя применить маску размером (2r+1)*(2r+1)
- Окрестность разделить на 4 области, указанные цифрами I, II, III, IV, размером r*r
- Вычислить среднюю интенсивность и дисперсию в каждой из областей I, II, III, IV
- Присвоить центральному пикселю X среднее значение интенсивности той области, дисперсия которой наименьшая
Маска фильтра
Применение
Сегментация однородных по цвету областей
Допустим у нас стоит задача поиска водоемов на космоснимке. На этапе предварительной обработке необходимо очистить изображение от шумов и сделать его более гладким и однородным. Причем должна быть сохранена информация о границах объектов в изображении. Применяем к исходному изображению фильтр kuwahara.
Исходное изображение
Kuwahara 21x21
После фильтрации границы стали более четкими, и к изображению можно применить какой-нибудь контурный фильтр, например детектор Канни.
Детектор Канни, примененный после фильтрации kuwahara
Для сравнения, если бы мы в качестве предварительной обработке использовали бы фильтр Гаусса, получили бы следующие изображения:
Фильтр Гаусса 21x21
Применение фильтра для создания эффекта нарисованной картины
Хоть это и не самый лучший фильтр для создания эффекта акварели или гуаши, но во многих случаях, на мой взгляд, получается очень даже красивый эффект.
Исходное изображение
Kuwahara 21x21
Ссылки
- Исходники на java
- Исходники на С++ с opencv
- Статья про сегментацию однородных областей
- Изображения взяты с google.com/maps, rsbweb.nih.gov, bobrolet.ru
- Изображения обработаны в онлайн фоторедакторе