Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Яркость и формат цвета [D7, WinXP]


VasRog ©   (2004-11-06 21:24:00) 

Нужна помощь в следующих вопросах:
1.  Как определить яркость пиксела для цветного/ монохромного изображения.
2.  Как из файла картинки извлечь информацию о ее размере и формате цвета (RGB, HSV итд.)
 Буду крайне признателен за любую оказанную помощь.


Jel   (2004-11-08 22:33:00) [1]


> VasRog   (08.11.04 22:04) [10]

Формат цвета в BMP всегда RGB. Цвет может быть индексированным (используется палитра) или нет. В любом случае нужно плясать от количества битов на пиксел. Если <= 8 - используется палитра, то есть вместо значений составляющих цвета используются индексы в палитре, а сами составляющие цвета хранятся в палитре. При 16 битах на пиксел может быть использован формат 555 и 565 то есть из 16 бит, отведенных на цвет 5 бит для R и т.д. При 24 и 32 битах на составляющие цвета отводится по одному байту. Лишний байт использется для Альфа-канала.

Формат HSB не ищи, не найдешь - есть HS L


VasRog   (2004-11-08 22:04:00) [2]

Вот просмотрел еще раз формат bmp.  И не содержит он формата
   цвета (RGB,  HSB).  Подскажите пожалуйста как ее определить.


Mihey_temporary   (2004-11-07 20:12:00) [3]

Так непонятно, в чём проблема. Яркость пикселя загруженого растра ты можешь определить? Решение тебе уже дали, в том числе [5]. Яркость можешь определить, сконвертировав RGB в HSB, где B = Brightness. Далее. Ты планируешь загружать разные форматы, значит, нужна библиотечка либо библиотечки для загрузки этих форматов. Заходишь на www.torry.net, ишешь, что больше всего подходит. Вот и всё.


VasRog   (2004-11-07 18:38:00) [4]

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


Mihey_temporary   (2004-11-07 17:46:00) [5]


> Подскажите пожалуйста где бы эти описания надыбать.


Если ты будешь определять цвета, то всё равно надо бы загрузить эту картинку в TBitmap или что-нить другое, но так, чтобы независимо от того, JPEG ли это или что другое, был бы растр - массив пикселей.


VasRog   (2004-11-07 17:13:00) [6]

почитал описания для bmp-формата,  но не понятно как мне использовать эти данные.  Вот например отрывок:
typedef struct tagBITMAPINFOHEADER
dword biSize;  //число байт, занимаемых структурой
   //BITMAPINFOHEADER
dword biWidth; //ширина битового образа в пикселах
dword biHeight; //высота битового образа в пикселах
word biPlanes; //число битовых плоскостей устройства
word biBitCount; //число битов на пиксель
dword biCompression; //тип сжатия
dword biSizeImage; //размер картинки в байтах
dword biXPelsPerMeter;//горизонтальное разрешение устройства,
   //пиксел/м
dword biYPelPerMeter; //вертикальное разрешение устройства,
   //пиксел/м
dword biClrUsed; //число используемых цветов
dword biClrImportant; //число "важных" цветов
BITMAPINFOHEADER;

Приведите пожалуйста хотя бы маленький пример использования этих данных. Например, как мне высоту и ширину изображения использовать.


debuger   (2004-11-07 15:01:00) [7]

google


VasRog   (2004-11-07 13:08:00) [8]

Подскажите пожалуйста где бы эти описания надыбать.


Jel   (2004-11-07 07:26:00) [9]

Для получения яркости пиксела можно воспользоваться весовыми коэффицентами цвета, принятыми в телевидении.

 Gray = R * 0.3 + G * 0.59 + B * 0.11

Для того, чтобы воспользоваться этой формулой понадобится информация о цвете n-ого пиксела.

Для извлечения информации о размерах картинки смотри описание конкретного формата.


VasRog   (2004-11-07 00:13:00) [10]

2.  Форматы файлов: bmp, jpg, tga, ico, tiff.
 1.  Ну вот например у меня есть картика jpg и мне нужна яркость n-ного пиксела. Как мне ее найти?


debuger   (2004-11-06 22:03:00) [11]

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

>> Как из файла картинки извлечь информацию о ее размере и формате цвета.
Какой файл с картинкой? : moricons.dll - там много картинок (маленьких, их еще иконками называют), или *.bmp - одна картинка и большая, а если анимированный .gif - то...

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо