Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Яркость и формат цвета   Найти похожие ветки 

 
VasRog   (2004-11-06 21:24) [0]

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


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

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

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

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


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

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


 
Jel ©   (2004-11-07 07:26) [3]

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

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

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

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


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

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


 
debuger ©   (2004-11-07 15:01) [5]

google


 
VasRog   (2004-11-07 17:13) [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;

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


 
Mihey_temporary ©   (2004-11-07 17:46) [7]


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


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


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

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


 
Mihey_temporary ©   (2004-11-07 20:12) [9]

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


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

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


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


> VasRog   (08.11.04 22:04) [10]

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

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



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
4-1105022351
N0th!ng
2005-01-06 17:39
2005.02.20
Прозрачное окно


3-1105785467
SnapIn
2005-01-15 13:37
2005.02.20
Вопрос по FastReport ам


1-1107340311
frEE)stylEr
2005-02-02 13:31
2005.02.20
Реестр


1-1107434406
Dmitry_04
2005-02-03 15:40
2005.02.20
Как можно уменьшить мерцание формы при переносе?


14-1106912109
Layner
2005-01-28 14:35
2005.02.20
вложении файла в письмо (INDY)