
- •§ Виды мультимедийной информации. Цифровое изображение. Цифровой звук. Цифровое видео.
- •Недостатки:
- •Сжатие с потерями. Основано на отбрасывании части информации (как правило наименее воспринимаемой глазом).
- •Разное:
- •2.1. Bitmapinfoheader – наиболее простой вариант заголовка. Приложения для Windows nt 3.51 и более ранних могут использовать только эту структуру. Размер 40 байт.
- •2.3. Bitmapv5header – Win95/nt 4.0: приложения могут использовать bitmapv4header. Win nt 3.51 и более ранние должны использовать структуру bitmapinfoheader.
- •Файл bmp может не содержать палитры, если в нём хранится несжатое полноцветное изображение.
- •Алгоритм визуальной криптографии
- •Matlab-реализация алгоритма
- •Результаты
- •Заключение
Недостатки:
Большой размер файлов у простых изображений.
Невозможность идеального масштабирования.
Невозможность вывода на печать на плоттер.
Из‑за этих недостатков для хранения простых рисунков рекомендуют вместо даже сжатой растровой графики использовать векторную графику.
Форматы. Растровые изображения обычно хранятся в сжатом виде. В зависимости от типа сжатия может быть возможно или невозможно восстановить изображение в точности таким, каким оно было до сжатия (сжатие без потерь или сжатие с потерями соответственно). Так же в графическом файле может храниться дополнительная информация: об авторе файла, фотокамере и её настройках, количестве точек на дюйм при печати и др.
Сжатие без потерь. Использует алгоритмы сжатия, основанные на уменьшении избыточности информации.
BMP или Windows Bitmap – обычно используется без сжатия, хотя возможно использование алгоритма RLE.
GIF (Graphics Interchange Format) – устаревающий формат, поддерживающий не более 256 цветов одновременно. Всё ещё популярен из‑за поддержки анимации, которая отсутствует в чистом PNG, хотя ПО начинает поддерживать APNG.
PCX устаревший формат, позволявший хорошо сжимать простые рисованые изображения (при сжатии группы подряд идущих пикселов одинакового цвета заменяются на запись о количестве таких пикселов и их цвете).
PNG (Portable Network Graphics).
Сжатие с потерями. Основано на отбрасывании части информации (как правило наименее воспринимаемой глазом).
JPEG очень широко используемый формат изображений. Сжатие основано на усреднении цвета соседних пикселей (информация о яркости при этом не усредняется) и отбрасывании высокочастотных составляющих в пространственном спектре фрагмента изображения. При детальном рассмотрении сильно сжатого изображения заметно размытие резких границ и характерный муар вблизи них.
Разное:
TIFF поддерживает большой диапазон изменения глубины цвета, разные цветовые пространства, разные настройки сжатия (как с потерями, так и без) и др.
RAW хранит информацию, непосредственно получаемую с матрицы цифрового фотоаппарата или аналогичного устройства без применения к ней каких-либо преобразований, а также хранит настройки фотокамеры. Позволяет избежать потери информации при применении к изображению различных преобразований (потеря информации происходит в результате округления и выхода цвета пиксела за пределы допустимых значений). Используется при съёмке в сложных условиях (недостаточная освещённость, невозможность выставить баланс белого и т. п.) для последующей обработки на компьютере (обычно в ручном режиме). Практически все полупрофессиональные и профессиональные цифровые фотоаппараты позволяют сохранять RAW изображения. Формат файла зависит от модели фотоаппарата, единого стандарта не существует.
BMP (от англ. Bitmap Picture) – формат хранения растровых изображений, разработанный компанией Microsoft.
С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle. Кроме того, данные этого формата включаются в двоичные файлы ресурсов RES и в PE-файлы.
Компания Microsoft также разработала для своих нужд форматы ICO и CUR, которые имеют похожую на BMP структуру. Кроме этого, структуры из этого формата используются некоторыми WinAPI-функциями подсистемы GDI.
Глубина цвета в данном формате может быть 1, 4, 8, 16, 24, 32, 48 бит на пиксель. При этом для глубины цвета меньше 16 бит используется палитра с полноцветными компонентами глубиной 24 бита.
В формате BMP изображения могут храниться как есть или же с применением некоторых распространённых алгоритмов сжатия. В частности, формат BMP поддерживает RLE-сжатие без потери качества, а современные операционные системы и программное обеспечение позволяют использовать JPEG и PNG (эти форматы встраиваются в BMP как в контейнер).
Разновидности формата BMP: DIB и DDB. При использовании формата DIB (англ. Device Independent Bitmap, аппаратно-независимый растр) программист может получить доступ ко всем элементам структур, описывающих изображение, при помощи обычного указателя. Но эти данные не используются для непосредственного управления экраном, так как они всегда хранятся в системной памяти, а не в специализированной видеопамяти. Формат пикселя в оперативной памяти может отличаться от того формата, который должен заноситься в видеопамять для индикации точки такого же цвета. Например, в DIB-формате может использоваться 24 бита для задания пикселя, а графический адаптер в этот момент может работать в режиме HiColor с цветовой глубиной 16 бит. При этом ярко-красная точка в аппаратно-независимом формате будет задаваться тремя байтами 0x0000ff, а в видеопамяти – словом 0xF800. При копировании картинки на экран система будет тратить дополнительное время на преобразование кодов цвета из 24-битного формата в формат видеобуфера.
Формат DDB (англ. Device Dependent Bitmap, аппаратно-зависимый растр) всегда содержит цветовые коды, совпадающие с кодами видеобуфера, но храниться он может как в системной, так и в видеопамяти. В обоих случаях он содержит только коды цвета в том формате, который обеспечит пересылку изображения из ОЗУ в видеопамять при помощи простого копирования.
Обзор структуры файла BMP. BMP-файл состоит из четырёх частей:
1. Заголовок файла (BITMAPFILEHEADER).
2. Заголовок изображения (BITMAPINFOHEADER, может отсутствовать). BITMAPV4HEADER (Win95, NT4.0), BITMAPV5HEADER (Win98/Me, 2000/XP).
3. Палитра (может отсутствовать).
4. Само изображение.
1. BITMAPFILEHEADER – эта структура содержит информацию о типе, размере и представлении данных в файле. Размер 14 байт.
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // смещение 0 байт от начала файла
DWORD bfSize; // смещение 2 байта от начала файла, длина 4 байта
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits; // смещение 10 байт от начала файла, длина 4 байта
} BITMAPFILEHEADER, *PBITMAPFILEHEADER;
Тип WORD должен иметь размер 16 бит, типы DWORD и LONG – 32 бита, тип LONG – знаковый, порядок байтов подразумевается little endian.
bfType – тип файла, символы «BM» (в HEX: 0x42 0x4d).
bfSize – размер всего файла в байтах.
bfReserved1 и bfReserved2 – зарезервированы, должны содержать нули.
bfOffBits – содержит смещение в байтах от начала структуры BITMAPFILEHEADER до непосредственно битов изображения.