Поиск среднего цвета
От: NovaCxarmulo Россия http://timofey.koolin.ru
Дата: 23.06.06 12:07
Оценка:
Бьюсь над проблемой: надо найти средний цвет картинки,..

Попробовал брать просто среднее арифметическое от каждого цвета — на светлой голубой картинке датет сервый цвет,

преобразование средствами системы к картинке 1*1 пиксель — тоже,

поискав по интеренту нашел алгоритмы сжатия, формулы расстояния между цветами, но усреднения цвета нигде не попалось...

если сталкивались прошу подсказать в какую сторону думать...
Сражение выигрывает тот, кто твердо решил его выиграть
(с) Л.Н. Толстой
Re: Поиск среднего цвета
От: Вумудщзук Беларусь  
Дата: 23.06.06 13:30
Оценка:
>Попробовал брать просто среднее арифметическое от каждого цвета — на светлой голубой картинке датет сервый цвет,
на однородно залитой голубой картинке получился серый цвет?? а не в целых ли числах складывал со многократным переполнением ?

>преобразование средствами системы к картинке 1*1 пиксель — тоже,

>поискав по интеренту нашел алгоритмы сжатия, формулы расстояния между цветами, но усреднения цвета нигде не попалось...
просто ф-лы усреднения и не получишь, как не найдёшь нигде, скажем, ф-лы "умножения векторов"..

Допустим, есть картинка из 2х точек: синяя (0,0,255) и жёлтая (255, 255, 0). Тогда усредняя в пространстве RGB получим (128, 128, 128) — довольно тёмный серый цвет. В пространстве HSB получим (после преобразования обратно в RGB) (0, 255, 128) — ядовитый зелёный.

>если сталкивались прошу подсказать в какую сторону думать...

Попробуй поусреднять в различных цветовых пространствах, и вообще определись для начала, какими свойствами должно обладать требуемое усреднение...
Homo sum et nihil humani a me alienum puto...
Re[2]: Поиск среднего цвета
От: NovaCxarmulo Россия http://timofey.koolin.ru
Дата: 23.06.06 13:51
Оценка:
Здравствуйте, Вумудщзук, Вы писали:

>>Попробовал брать просто среднее арифметическое от каждого цвета — на светлой голубой картинке датет сервый цвет,

В>на однородно залитой голубой картинке получился серый цвет?? а не в целых ли числах складывал со многократным переполнением ?
в целых, но чтобы избежать переполнения взял Int64, проверял — он не переполняется


>>преобразование средствами системы к картинке 1*1 пиксель — тоже,

>>поискав по интеренту нашел алгоритмы сжатия, формулы расстояния между цветами, но усреднения цвета нигде не попалось...
В>просто ф-лы усреднения и не получишь, как не найдёшь нигде, скажем, ф-лы "умножения векторов"..

В>Допустим, есть картинка из 2х точек: синяя (0,0,255) и жёлтая (255, 255, 0). Тогда усредняя в пространстве RGB получим (128, 128, 128) — довольно тёмный серый цвет. В пространстве HSB получим (после преобразования обратно в RGB) (0, 255, 128) — ядовитый зелёный.


>>если сталкивались прошу подсказать в какую сторону думать...

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

усреднение должно обладать только 1м свойством: визуально быть похоже на цвет исходной картинки ( сама картинка это однотонный отсканированный рисунок ), по поводу цветовых схем попробую покопать...
Сражение выигрывает тот, кто твердо решил его выиграть
(с) Л.Н. Толстой
Re[3]: Поиск среднего цвета
От: piAnd Россия  
Дата: 23.06.06 13:56
Оценка: 3 (1)
Здравствуйте, NovaCxarmulo, Вы писали:

NC>усреднение должно обладать только 1м свойством: визуально быть похоже на цвет исходной картинки ( сама картинка это однотонный отсканированный рисунок ), по поводу цветовых схем попробую покопать...

Надо преобразовать картинку в Lab схему. В ней брать среднее арифметическое всех пикселей, затем результат переводится обратно в RGB.
На практике даже в xyY схеме цвета очень точны визуально.
Re[4]: Поиск среднего цвета
От: Willy Россия  
Дата: 24.06.06 08:54
Оценка:
Здравствуйте, piAnd, Вы писали:

A>Надо преобразовать картинку в Lab схему. В ней брать среднее арифметическое всех пикселей, затем результат переводится обратно в RGB.

A>На практике даже в xyY схеме цвета очень точны визуально.

Полностью согласен.
Re[4]: Поиск среднего цвета
От: NovaCxarmulo Россия http://timofey.koolin.ru
Дата: 24.06.06 09:08
Оценка:
Здравствуйте, piAnd, Вы писали:

A>Здравствуйте, NovaCxarmulo, Вы писали:


NC>>усреднение должно обладать только 1м свойством: визуально быть похоже на цвет исходной картинки ( сама картинка это однотонный отсканированный рисунок ), по поводу цветовых схем попробую покопать...

A>Надо преобразовать картинку в Lab схему. В ней брать среднее арифметическое всех пикселей, затем результат переводится обратно в RGB.
A>На практике даже в xyY схеме цвета очень точны визуально.

как раз то, что надо получилось (преобразовывал в Lab), спасибо
Сражение выигрывает тот, кто твердо решил его выиграть
(с) Л.Н. Толстой
Re: Поиск среднего цвета
От: Дон Рэба  
Дата: 24.06.06 21:59
Оценка:
Сам реализовывал это как медиану для каждого компонента. Результаты очень хорошие.
Ce n'est que pour vous dire ce que je vous dis.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.