Перейти к содержимому
Compvision.ru
Anuar

Эффект красных глаз

Recommended Posts

Кто нибудь знает какой-нибудь алгоритм для устранения эффекта красных глаз?Как определять границы,чтобы не попасть на кожу?Я сталкивался с плагинами работающими с cvblobslib.Как блобы можно применить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я пробовал эти алгоритмы,на некоторых фотках разрисовывает весь прямоугольник,где находится глаз...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можете привести одно или несколько сложных для обработки изображений?

ЗЫ: можно попробовать натренировать детектор цвета "красного глаза". По этому поводу вот тут посмотрите (10 пост):

http://www.compvision.ru/forum/index.php?showtopic=861&st=0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаю что не только можно, но и нужно.

Когда проведете детект по цвету, Вам нужно будет отфильтровать найденное по разным параметрам.

Я бы вначале попробовал такие:

1) пропорции по отношению к размеру глаза (по площади)

2) наличие симметричного объекта (глаз на фотографии, в большинстве случаев, 2)

3) по расположению в найденной области глаза.

и т.п.

ЗЫ: Может быть полезным вначале размыть фотографию.

ЗЫЗЫ: в исходнике, по ссылке выше наверное лучше использовать линейное ядро, с ним более устойчиво обучается.

Вместо:

params.kernel_type = CvSVM::POLY;
поставить
params.kernel_type = CvSVM::LINEAR;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Предположим,что красные глаза я нашел,как применить блобы?Зачем размывать?я новичок в этом...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если все хорошо нашлось, то есть зрачек не фрагментирован, то размытие не нужно.

Оно пригодится, если программа находит много маленьких кусочков для одного зрачка.

По поводу блобов, можете для этого использовать контуры (FindContours).

Искать контуры нужно после того как выделите пиксели подходящего цвета.

В OpenCV есть функция поиска площади контура (contourarea). При помощи этой функции отсеиваете области (блобы) имеющие слишком большую и слишком маленькую площадь.

В результате всех этих действий получите контуры, которые с высокой вероятностью являются зрачками.

Затем рисуете эти контуры черным цветом (drawcontours).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×