Здравствуйте, aleksan, Вы писали:
A>Прошу помочь с алгоритмом удаления красных глаз с фотографии. A>Перерыл Весь интернет нигде немогу найти. A>Кто может помочь, помогите.
Могем немного…
Во первых, нужно эти глаза найти. Поскольку задача поиска такой малой части изображения задача в общем случае нерешаемая, есть смысл последовать по стопам монстров (Adobe, ACDSee итд.). Пусть пользователь сам выделит на изображении области, которые он считает глазами.
Во вторых, нужно разграничить эту область — найти область засветки.
Область засветки ищется простым пороговым алгоритмом: Если красная составляющая пикселя больше порога то он принадлежит области засветки, иначе нет.
Порог выставляется пользователем, или может автоматически находится из соотношения средних яркостей красного внутри выделенной области, на краях выделенной области и максимальной яркости красного внутри выделенной области. Собственно реализация автоматического определения порога зависит от способа выделения глаз.
После этого область желательно закруглить — построить по внутренним и внешним границам найденной области замкнутые многоугольники, и использовать уже только область, заключенную между ними. Копать в сторону Algolist.manual.ru
Перед тем как приступить к собственно удалению красных глаз, нужно узнать у пользователя, какого цвета глаза он хочет увидеть — карие, голубые, или может быть, желтые?
Теперь надо заменяешь все пиксели в найденной области на пользовательский цвет, предварительно отнормировав его на значение красной составляющей исходного пикселя.
И завершающий штрих — провести небольшое размытие по найденным границам области, дабы скрыть следы наших манипуляций.
Сделать человеку приятное очень просто. Не сделайте ему гадость и ему будет приятно!
Баг — это клоп. Таpакан — это, видимо, фича.
Здравствуйте, aleksan, Вы писали:
A>Прошу помочь с алгоритмом удаления красных глаз с фотографии. A>Перерыл Весь интернет нигде немогу найти. A>Кто может помочь, помогите.
RentACoder?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Какая странная планета! — подумал Маленький принц. — Совсем сухая,
вся в иглах и соленая. И у людей не хватает воображения. Они только
повторяют то, что им скажешь...
Здравствуйте, Rebus83, Вы писали:
R>Здравствуйте, aleksan, Вы писали:
A>>Прошу помочь с алгоритмом удаления красных глаз с фотографии. A>>Перерыл Весь интернет нигде немогу найти. A>>Кто может помочь, помогите. R>RentACoder?
По видимому да
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, aleksan, Вы писали:
A>Прошу помочь с алгоритмом удаления красных глаз с фотографии. A>Перерыл Весь интернет нигде немогу найти. A>Кто может помочь, помогите.
Алгоритмов в сети не видел. Но если бы делал сам, то сделал бы вероятностный алгоритм, который бы искал однородные области красного цвета и для них заменял красный на градации серого.
Re[2]: Алгоритм удаления красных глаз
От:
Аноним
Дата:
20.02.05 11:54
Оценка:
Здравствуйте, henson, Вы писали:
H>Здравствуйте, aleksan, Вы писали:
H>Алгоритмов в сети не видел. Но если бы делал сам, то сделал бы вероятностный алгоритм, который бы искал однородные области красного цвета и для них заменял красный на градации серого.
имхо, коллега, так ничего не получится. Например, если взять изображение, где рядом с глазами что-то красное (например, розы) при плохом освещении, то получится также однотонная область красного цвета с малыми флуктуациями. И алгортим сожрет и ее. Есть идейка: оформить границу для обнаруженной таким образом области, а дальше применить либо морфологию, либо какие-то тривиальные алгориты распознавания образов. Но, думаю, и тогда эффект применения не даст 100% результата. Надо пинать Adobe
Здравствуйте, aleksan, Вы писали:
A>Прошу помочь с алгоритмом удаления красных глаз с фотографии. A>Перерыл Весь интернет нигде немогу найти. A>Кто может помочь, помогите.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, henson, Вы писали:
H>>Здравствуйте, aleksan, Вы писали:
H>>Алгоритмов в сети не видел. Но если бы делал сам, то сделал бы вероятностный алгоритм, который бы искал однородные области красного цвета и для них заменял красный на градации серого.
А>имхо, коллега, так ничего не получится. Например, если взять изображение, где рядом с глазами что-то красное (например, розы) при плохом освещении, то получится также однотонная область красного цвета с малыми флуктуациями. И алгортим сожрет и ее. Есть идейка: оформить границу для обнаруженной таким образом области, а дальше применить либо морфологию, либо какие-то тривиальные алгориты распознавания образов. Но, думаю, и тогда эффект применения не даст 100% результата. Надо пинать Adobe
Несколько месяцев назад перебрал с десяток программ для этого дела. Мало того, что платные, так там еще и руками тыкать надо где глаза.