2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 поиск алгоритма черно-белое или цветное изображение
Сообщение01.04.2008, 00:39 
Аватара пользователя


24/10/05
400
Ищу алгоритм, с помощью которого можно понять какое изображение обрабатывается: черно-белое или цветное. Заранее спасибо за помощь.

 Профиль  
                  
 
 
Сообщение01.04.2008, 21:10 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Вам надо указать формат файла. Вначале большинства файлов записывается цветовая палитра. По соотношениям RGB можно определить линейную зависимость цветов палитры с соответствующим выводом.

 Профиль  
                  
 
 
Сообщение01.04.2008, 23:02 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Я предполагаю, что совет прочитать метаданные файла, в которых написано Ч/Б, Вас не заинтересует.

Перед тем, как углублятся в алгоритмы, было бы полезно определиться с тем, какие картинки считаются цветными. Например, старое фото, пожелтевшее от времени. Или тонированная фотография. Или сепия из цифровой камеры.

Выбор, как видите, есть. Так что, определитесь с целью.

 Профиль  
                  
 
 
Сообщение03.04.2008, 12:57 
Аватара пользователя


24/10/05
400
Цветное изображение, где количество цветов больше 2. Полутоновые изображения - тоже можно считать цветными изображениями. Черно-белое - на картинке только 2 цвета, то есть изображение бинарное..
У меня идея. Сравнивать значения зеленой, красной и голубой интенсивности цвета в каждой точке на рисунке, если интенсивности трех значений составляющих модель RGB совпадает, то картинка - черно белая. Но получается, что это ооочень медленный алгоритм:(

 Профиль  
                  
 
 
Сообщение03.04.2008, 13:03 
Экс-модератор


17/06/06
5004
Не понял ваш алгоритм. По определению, картинка состоящая только из синего и зеленого цветов, считается черно-белой, хотя интенсивности во всех точках будут разные.

 Профиль  
                  
 
 
Сообщение03.04.2008, 13:10 
Аватара пользователя


24/10/05
400
я имел ввиду, что интенсивность в 1 точке по всем трем составляющим должны быть одинаковыми!!

 Профиль  
                  
 
 
Сообщение03.04.2008, 14:01 
Экс-модератор


17/06/06
5004
Ну вот. В зеленой точке интенсивность зеленого существенно больше интенсивности красного. Это не противоречит чернобелости. :?

Ну, в-общем, ясно, что с таким определением надо в любом случае проехать по всей картинке (одна точка третьего цвета в самом конце может всё испортить).

Давайте я свой вариант для начала напишу. Заводим две переменные типа "цвет" $C_1$, $C_2$ и две переменные типа "целое число" $n_1=0$,$n_2=0$. Фиксируем точность сравнения цветов $\varepsilon>0$. Читаем первую точку (N=1). Запоминаем ее цвет в $C_1$, и пишем $n_1=1$. Читаем (N+1)-ую точку. Если она имеет цвет $C$, и $C$ отличается от $C_j$ меньше, чем на $\varepsilon$, то на место $C_j$ кладем среднее значение цветов, попавших в $C_j$ (то есть что-то типа $\frac{n_j}{n_j+1}C_j+\frac{1}{n_j+1}C$), и увеличиваем $n_j$ на 1. Иначе: если $n_2>0$, то ответ: картинка не является черно-белой. А если $n_2=0$, то объявляем $C_2=C$, $n_2=1$. Если дошли до конца, то картинка является черно-белой.

Недостаток алгоритма --- не рассмотрен случай, когда в какой-то момент оказывается, что $C_1$ и $C_2$ отличаются меньше, чем на $\varepsilon$.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group