Відмінності між версіями «Лабораторні роботи Годуна Дмитра: Обробка зображень та мультимедіа»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Лабораторна робота 2)
м
Рядок 40: Рядок 40:
  
 
Битмапы, которые также называются растровыми изображениями, используют сетку (битовую карту или растровую) малых квадратов, которые известны, как пиксели, для представления изображений. Для каждого пикселя отводится определенное место и значение цвета. Файлы BMP могут содержать различные уровни глубины цвета на пиксель, в зависимости от количества битов на пиксель, указанной в заголовке файла. Они также могут храниться с использованием оттенков серого цветов.
 
Битмапы, которые также называются растровыми изображениями, используют сетку (битовую карту или растровую) малых квадратов, которые известны, как пиксели, для представления изображений. Для каждого пикселя отводится определенное место и значение цвета. Файлы BMP могут содержать различные уровни глубины цвета на пиксель, в зависимости от количества битов на пиксель, указанной в заголовке файла. Они также могут храниться с использованием оттенков серого цветов.
 
 
  
 
Формат BMP-файлов
 
Формат BMP-файлов
  
BMP — стандартный формат графических файлов Windows. Подавляющее большинство BMP-файлов хранится без сжатия, что облегчает работу с ними. Даже в сжатых BMP-файлах нет ничего особенно сложного, но мы ограничимся файлами без сжатия.
+
BMP — стандартный формат графических файлов Windows. Подавляющее большинство BMP-файлов хранится без сжатия, что облегчает работу с ними.  
  
 
BMP-файлы состоят из трех основных частей:
 
BMP-файлы состоят из трех основных частей:
Рядок 55: Рядок 53:
 
Заголовок содержит информацию о файле и находящемся в нем графическом изображении. Здесь хранятся параметры изображения (ширина, высота, глубина пикселей), а также количество цветов в нем.
 
Заголовок содержит информацию о файле и находящемся в нем графическом изображении. Здесь хранятся параметры изображения (ширина, высота, глубина пикселей), а также количество цветов в нем.
  
Палитра присутствует только в BMP-файлах, содержащих палитровые изображения (с глубиной пикселей 8 бит и менее). К 8-битным изображениям прикладывается палитра, состоящая из не более чем 256 элементов.
+
Палитра присутствует только в BMP-файлах, содержащих палитровые изображения (с глубиной пикселей 8 бит и менее).  
 
+
Графические данные — это и есть само изображение. Формат этих данных зависит от глубины пикселей. Хотя BMP-файлы делятся на несколько типов, мы ограничимся 8-битными и 24-битными изображениями. 8-битные BMP-файлы будут использоваться для работы с 8-битными поверхностями, а 24-битные — для беспалитровых поверхностей. Хотя, по слухам, в природе существуют 16-битные и 32-битные BMP-файлы, они встречаются очень редко — например, мне таковые ни разу не попадались. Впрочем, это не имеет особого значения, так как 24-битную графику можно легко преобразовать в 16- или 32-битный формат.
+
  
 +
Графические данные — это и есть само изображение. Формат этих данных зависит от глубины пикселей.
  
 
Элемент палитры представляет собой четырёхбайтовую запись (структуру). В этой структуре хранятся составляющие R-красного, G-зеленого и B-синего цветов. Один байт зарезервирован. Палитра может и не использоваться, например в True Color.
 
Элемент палитры представляет собой четырёхбайтовую запись (структуру). В этой структуре хранятся составляющие R-красного, G-зеленого и B-синего цветов. Один байт зарезервирован. Палитра может и не использоваться, например в True Color.
 +
Структура элемента палитры:
  
 +
typedef struct tagRGBQUAD
 +
{
 +
        char  rgbBlue;
 +
        char  rgbGreen;
 +
        char  rgbRed;
 +
        char  rgbReserved;
 +
} RGBQUAD;
 
===JPG===
 
===JPG===
  

Версія за 12:05, 25 лютого 2015

Лабораторна робота 1

Лабораторна робота 2

BMP

BMP (Bitmap) — bitmap-формат або DIB (англ. device independent bitmap)-формат файлу зображень растрової графіки, в якому зображення зберігається у вигляді двовимірного масиву пікселів. запам'ятовує одно і багатокольорові (RGB) ілюстрації у формі Pixel. BMP-формат використовується в операційній системи Windows та OS/2. Дані цього формату включаються в двійкові файли ресурсів RES і в PE-файли.

Формат файлу BMP здатний зберігати 2D цифрові зображення довільної ширини, висоти та роздільної здатності, як монохромні так і кольорові, різної глибини кольору, і, необов'язково, зі стисненням данних, альфа-каналом та керуванням кольору. Специфікація Windows Metafile (WMF) охоплює формат файлу BMP. Серед іншого, wingdi.h визначає BMP-константи та структури.


Можливості формату BMP

У даному форматі можна зберігати тільки одношарові растри. На кожен піксель в різних файлах може приходити різна кількість біт (глибина кольору). Microsoft пропонує бітності 1, 2, 4, 8, 16, 24, 32, 48 і 64. В бітності 8 і нижче він вказується індексом з таблиці кольорів (палітри), а при великих: безпосереднім значенням. Колір же в будь-якому випадку можна задати тільки в колірній моделі RGB, але в бітності 16 і 32 можна отримати Grayscale[ru] з глибиною до 16 і 32-ох біт відповідно. Часткова прозорість реалізована альфа-каналом різних бітностей, але при цьому прозорість без градацій можна побічно отримати RLE-кодуванням.

У більшості випадків пікселі зберігаються у вигляді відносно простого двовимірного масиву. Для бітності 4 і 8 доступно RLE-кодування, яке може зменшити їх розмір. Формат BMP так само підтримує вбудовування даних у форматах JPEG і PNG. Але останнє скоріше більше призначене не для компактного зберігання, а для обходу обмежень архітектури GDI, яка не передбачає пряму роботу із зображеннями форматів відмінних від BMP.

В останніх версіях формату BMP так само з'явилися можливості по управлінню кольором. Зокрема, можна вказувати кінцеві точки, виробляти гамма-корекцію і вбудовувати колірні профілі ICC[en].


Внутрішня будова ВМР

Офіційну інформацію по формату BMP можна знайти в MSDN або в довідці Microsoft Windows SDK (може йти в комплекті з деякими IDE). У файлі wingdi.h від компанії Microsoft є всі оголошення мовою C++, які стосуються даного формату. У цей файл не були включені оголошення типів, так як від цього він може бути занадто громіздким. До того ж офіційні оголошення деякі розробники можуть вважати незручними і тому їх необхідність сумнівна. Якщо вам будуть потрібні оригінальні імена констант, структур, типів та їх полів, то всі вони є в тексті даної статті.

Максимальний розмір неподільних комірок (виключаючи поля бітових структур): 32 біта і тому формат можна класифікувати як 32-бітний. Винятком можуть бути 64-бітові пікселі, але значення їх каналів можна обробляти і 16-бітними словами. Порядок байтів в 16-бітних і 32-бітових комірках усюди від меншого до більшого. Цілі числа записуються в прямому коді[ru], зі знаком — в додатковому. Якщо порівнювати з апаратними архітектурами, то порядок байт і формат чисел відповідає архітектурі x86.

Можна зустріти чотири числових типа:

   BYTE — 8-бітове беззнаковое ціле.
   WORD —16-бітове беззнаковое ціле.
   DWORD — 32-бітове беззнаковое ціле.
   LONG —32-бітове ціле зі знаком.

У форматі Windows Bitmap під структурами розуміється блок з послідовними комірками різного фіксованого розміру, у яких є умовні імена (є в багатьох мовах програмування), а не щось складніше (наприклад, потік команд довільного розміру).

У деяких елементів формату вказана версія Windows, починаючи з якої він підтримується. Мова йде в першу чергу про основні бібліотеки WinAPI такі як gdi32.dll, shell32.dll, user32.dll і kernel32.dll. Інші компоненти операційної системи (наприклад, GDI+,. NET, DirectX) можуть мати інші більш широкі можливості.


Расширение BMP обычно используется для хранения растровых изображений. .BMP – это стандартный, не сжатый битовый графический формат, используемый в Windows. BMP файл хранить графику в формате, который называется аппаратно-независимый растр (DIB от англ. Device Independent Bitmap). Файл .BMP состоит из заголовка файла (растровый идентификатор, размер файла, ширина, высота, варианты цвета, и растровые данные начальной точки), заголовка изображения (может отсутствовать), палитры (может отсутствовать) и самого изображения.

Битмапы, которые также называются растровыми изображениями, используют сетку (битовую карту или растровую) малых квадратов, которые известны, как пиксели, для представления изображений. Для каждого пикселя отводится определенное место и значение цвета. Файлы BMP могут содержать различные уровни глубины цвета на пиксель, в зависимости от количества битов на пиксель, указанной в заголовке файла. Они также могут храниться с использованием оттенков серого цветов.

Формат BMP-файлов

BMP — стандартный формат графических файлов Windows. Подавляющее большинство BMP-файлов хранится без сжатия, что облегчает работу с ними.

BMP-файлы состоят из трех основных частей:

   заголовок;
   палитра;
   графические данные (значения пикселей).

Заголовок содержит информацию о файле и находящемся в нем графическом изображении. Здесь хранятся параметры изображения (ширина, высота, глубина пикселей), а также количество цветов в нем.

Палитра присутствует только в BMP-файлах, содержащих палитровые изображения (с глубиной пикселей 8 бит и менее).

Графические данные — это и есть само изображение. Формат этих данных зависит от глубины пикселей.

Элемент палитры представляет собой четырёхбайтовую запись (структуру). В этой структуре хранятся составляющие R-красного, G-зеленого и B-синего цветов. Один байт зарезервирован. Палитра может и не использоваться, например в True Color. Структура элемента палитры:

typedef struct tagRGBQUAD {

       char   rgbBlue;
       char   rgbGreen;
       char   rgbRed;
       char   rgbReserved;

} RGBQUAD;

JPG

GIF

PNG

Лабораторна робота 3

Лабораторна робота 4

Лабораторна робота 5

Лабораторна робота 6

Лабораторна робота 7

Лабораторна робота 8

Лабораторна робота 9

Лабораторна робота 10

Лабораторна робота 11

Лабораторна робота 12

Лабораторна робота 13

Лабораторна робота 14

Лабораторна робота 15

Лабораторна робота 16