Красный глазной алгоритм сокращения

41
задан Jorge Castro 9 May 2012 в 02:11
поделиться

8 ответов

Я - путь поздно к стороне здесь, но для будущих искателей я использовал следующий алгоритм для персонального приложения, которое я записал.

В первую очередь, регион для сокращения выбран пользователем и передан красному глазному методу сокращения как центральная точка и радиус. Циклы метода через каждый пиксель в радиусе и делают следующее вычисление:

//Value of red divided by average of blue and green:
Pixel pixel = image.getPixel(x,y);
float redIntensity = ((float)pixel.R / ((pixel.G + pixel.B) / 2));
if (redIntensity > 1.5f)  // 1.5 because it gives the best results
{
    // reduce red to the average of blue and green
    bm.SetPixel(i, j, Color.FromArgb((pixel.G + pixel.B) / 2, pixel.G, pixel.B));
}

Мне действительно нравятся результаты этого, потому что они сохраняют интенсивность цвета, что означает, что легкое отражение глаза не уменьшается. (Это означает, что глаза сохраняют свой "живой" взгляд.)

43
ответ дан Benry 27 November 2019 в 00:39
поделиться

Сначала необходимо найти глаза! Стандартный путь состоял бы в том, чтобы выполнить граничный детектор, и затем Hough преобразовывает для нахождения двух кругов того же размера, но могли бы быть более легкие алгоритмы для того, чтобы просто найти кластеры красных пикселей.

Тогда необходимо решить, что заменить их, предположив, что существует достаточно зеленых/синих данных в изображении, Вы могли просто проигнорировать красный канал.

OpenCV является очень хорошей свободной библиотекой для обработки изображений, это могло бы быть излишество для того, что Вы хотите - но имеет много примеров и очень активного сообщества. Вы могли также искать алгоритмы отслеживания объекта, отслеживание цветного объекта в сцене очень similair и типичная проблема.

6
ответ дан Martin Beckett 4 August 2019 в 21:32
поделиться

большая библиотека для нахождения глаз openCV. это очень богато с функциями обработки изображений. см. также этот бумага с заголовком "Автоматическое красное глазное обнаружение" от Ilia V. Safonov.

7
ответ дан Quonux 4 August 2019 в 21:32
поделиться

Если никто больше не придумывает более прямой ответ, Вы могли бы всегда загружать исходный код для GIMP и видеть, как они делают это.

4
ответ дан Bill the Lizard 4 August 2019 в 21:32
поделиться

Самый простой алгоритм, и тем не менее тот, который является очень эффективным, должны были бы обнулить R триплета RGB для видимой области.

красный исчезает, но другие цвета сохраняются.

дальнейшее расширение А этого алгоритма могло бы включить обнуление, значение R только для утраивания, где красный является доминирующим цветом (R> G и R> B).

3
ответ дан japollock 4 August 2019 в 21:32
поделиться

Можно попробовать imagemagick - некоторые подсказки на этой странице для того, как сделать это

, http://www.cit.gu.edu.au/~anthony/info/graphics/imagemagick.hints

ищет красный глаз на странице

3
ответ дан Lou Franco 4 August 2019 в 21:32
поделиться

Проект с открытым исходным кодом Paint.NET имеет реализацию в C#.

3
ответ дан JC. 4 August 2019 в 21:32
поделиться

Нет. Можно установить 32-разрядное программное обеспечение на машине бита x64, но Вы не можете установить базирующееся программное обеспечение x64 на 32-разрядной машине.

http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm

Это правило относится ко всем Операционным системам.

3
ответ дан belacqua 22 October 2019 в 14:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: