Я реализую алгоритм заливки для проекта, над которым сейчас работаю. Я использую его для обычных целей, редактирования изображений. У меня нет проблем с базовым алгоритмом, но я бы хотел, чтобы заливка выглядела получше.
Во многих случаях области моего изображения будут иметь области, которые в основном одноцветные, но которые окаймлены пикселями, которые немного светлее или темнее. Я хотел бы знать алгоритм для "нечеткой" заливки, которая не покидает эти пограничные пиксели. Я попытался заполнить все пиксели двумя разными простыми метриками расстояния исходного пикселя:
- Манхэттенское расстояние для всех трех цветовых компонентов: красного, зеленого и синего.
- максимальное расстояние между компонентами цвета.
Ни один из них не работает, часто оставляя границы и иногда заполняя соседние области визуально отличным, но «близким» цветом.
Я не думаю, что есть волшебная палочка для решения моей проблемы, но мне было бы интересно узнать какие-либо алгоритмы, с помощью которых я мог бы попытаться получить лучший результат, или даже где я мог бы с пользой поискать такие алгоритмы. Просматривая сеть, я нашел ссылку на то, что называется «алгоритм нечеткого заполнения с заполнением среднего сдвига», но я не уверен, что это то же самое.