
- •Глава 6. Системы технического зрения
- •6.1. Основные понятия
- •6.2. Основы формирования и передачи изображений
- •6.2.1. Понятие о видеосигнале
- •6.2.2. Принципы кодирования цвета
- •6.3. Датчики изображений
- •6.3.1. Видикон
- •6.3.2. Телекамеры на основе приборов с зарядовой связью
- •6.3.3. Фотодиодные матрицы
- •6.4. Устройства ввода и хранения изображений
- •6.4.1. Принципы хранения изображений
- •6.4.2. Кодирование видеосигнала
- •Форматы хранения изображений в стз
- •6.5.1. Структура графического файла
- •6.5.2. Сжатие изображений
- •6.5.2.1. Сжатие графических файлов
- •Ааааааааааааааа
- •6.5.2.2. Сжатие видеоизображений
- •6.6. Базовые алгоритмы обработки изображений
- •6.6.1. Предварительная обработка изображений
- •6.6.2. Сегментация
- •6.6.3. Кодирование изображений
- •6.6.4. Описание изображений
- •6.7. Распознавание изображений
- •6.7.1. Пример алгоритма распознавания
- •6.7.2. Особенности получения трехмерных изображений
- •Вопросы для самостоятельной подготовки
6.5.1. Структура графического файла
Графический файл состоит из двух основных частей: заголовка и собственно данных. В начале заголовка стоят несколько числовых значений, которые указывают спецификацию файла (TIF, BMP и т.д.). В англоязычной литературе их называют «магическими числами».
Все программы обработки изображений различают форматы файлов не по расширениям, а по «магическим числам». Поэтому, в принципе, например, TIF-файлу можно дать любое название, что никак не отразится на возможности его считывания. Исключением из этого правила являются фото-CD файлы, которые не имеют ни магических чисел, ни обычного заголовка.
За
«магическим числом» следует основное
содержание заголовка, содержащее общие
сведения о файле, в том числе, высоту и
ширину изображения, его тип (цветное
палитровое/«в искусственных цветах»
или монохромное полутоновое/«двухградационное»),
с какого места начинаются в файле
видеоданные, использовалось ли сжатие
данных и т.д. Если файл содержитпалитровое
изображение, то после заголовка в
большинстве случаев (но не всегда!)
следует таблица
цветов, в
соответствии с которой элементам
изображения присваиваются значения
RGB-троек.
Далее записываются видеоданные. Способ их хранения зависит от типа изображения и формата файла. Поэтому, создание универсальных программ считывания и записи основных графических форматов является нетривиальной задачей. Данные (структура данных), называемые файловыми элементами, подразделяются на три категории: поля, теги и потоки. Полем называется структура данных в графическом файле, имеющая фиксированный размер. Фиксированное поле может иметь не только фиксированный размер, но и фиксированную позицию в файле. Тег представляет собой структуру данных, размер и позиция которой изменяются от файла к файлу. Поля и теги спроектированы таким образом, чтобы помочь программе обработки изображений получить быстрый доступ к нужным данным. Если позиция в файле известна, то программа получает доступ к ней непосредственно, без предварительного чтения промежуточных данных. Файл, в котором данные организованы в виде потока, не дает таких возможностей и должен читаться последовательно. Поток позволяет поддерживать блоки данных переменной длины. Теоретически могут существовать «чистые» файлы фиксированных полей (содержащие только фиксированные поля), «чистые» теговые и «чистые» потоковые файлы. Однако реально такие файлы большая редкость. Чаще применяются комбинации двух и более элементов данных. Так, известные форматы TIFF и TGA используют и теги, и фиксированные поля, а файлы формата GIF - фиксированные поля и потоки.
Простейшим
способом организации пиксельных
значений в растровом файле является
использованиестрок
развертки.
В таком случае, пиксельные данные в
файле будут представлять собой
последовательности наборов значений,
где каждый набор будет соответствовать
строке изображения (рис. 6.37). Несколько
строк представляются несколькими
наборами, записанными в файле от начала
до конца. Этот метод является общим при
сохранении данных изображений
организованных в строки.
Несмотря на то, что векторные файлы значительно отличаются друг от друга, большинство из них также имеет стандартную базовую структуру (рис. 6.38). Непосредственно векторные данные записываются очень компактно. Так, например, в формате ASCII, три элемента изображения (окружность синего цвета, черная прямая и красный прямоугольник), могут быть записаны следующим образом: «CIRCLE, 40, 100, 100, BLUE»; «50, 136, 227, BLACK»; «RECT, 80, 65, 25, 78, RED». Здесь цифрами обозначены координаты характерных точек (например, центра тяжести) и размеры характерных линий (например, радиуса). Замкнутые линии векторных изображений могут быть заполнены цветом, который, в общем случае, не зависит от цвета контура элемента. Таким образом, каждый элемент изображения связан с двумя или более цветами, один из них задан для контура элемента, а остальные - для заполнения. Цвета заполнения, в частности, могут быть прозрачными. Если не принимать в расчет палитру и информацию об атрибутах, можно сказать, что размер векторного файла прямо пропорционален количеству содержащихся в нем объектов. Это специфическая особенность векторных файлов, поскольку размер растрового файла не зависит от сложности описанного в нем изображения (на него может повлиять только способ сжатия данных).
В завершении приведем краткий обзор основных графических форматов, использующихся в СТЗ. Наиболее простым форматом уже много лет является PCX-формат. Его основное достоинство, связанное с наглядностью представления видеоданных в структуре файла, привело к появлению многочисленных программ обработки изображений именно из PCX-формата. Самым распространенным, пожалуй, является TIF-формат, называемый также теговым форматом. В нем можно хранить все типы изображений и каждая программа обработки должна включать процедуры чтения и записи TIF-файлов. Недостатком TIF-формата является его сложность, что приводит к возникновению проблем со сжатием изображений и совместимостью файлов. Известный формат BMP, разработанный для системы Windows, широко используется в настоящее время в графических системах, хотя и имеет ряд недостатков, связанных с организацией заголовков файлов. Формат TGA (Targa) обеспечивает очень надежное кодирование видеоданных и практически исключает несовместимость между программами. Недостаток этого формата связан с тем, что разрешение изображения в файле не запоминается. Наибольшее число библиотек изображений создано в GIF-формате, разработанном фирмой Compuserve. Его задачей являлось обеспечение максимального сжатия видеоданных при их записи в память. Он эффективен при сохранении палитровых изображений, содержащих максимум 256 цветов в максимально компактной форме.
Видеофайлы часто имеют очень большой объем, и поэтому во всех перечисленных форматах они подвергаются сжатию либо автоматически, либо путем выбора соответствующей функции. Однако, применяемые при этом методы не очень эффективны, особенно если речь идет о записи изображений в естественных цветах. В этом случае весьма полезен формат JPEG, в котором сжатие данных производится методом дискретного косинусного преобразования (ДКП).
Обзор некоторых распространенных форматов хранения изображений в СТЗ представлен в табл. 6.15
Таблица 6.15. Сравнительный анализ некоторых графических форматов
Название, фирма |
Тип изображения |
Назначение |
Платформа |
Общая оценка |
РСХ (Zsoft Corporation) |
Растровое (Bitmap) |
Графические редакторы на IBM РС |
IBM PC |
Хорошо работает при обмене данными в РС-средах, хранит простые изображения, использует схему RLE сжатия данных, но аппаратно зависим |
BMP/DIB (Microsoft) |
Растровое |
Хранение и обработка изображений в среде Windows |
То же |
Стандартный формат для Windows. Аппаратно независим, использует алгоритм RLE сжатия |
TIFF (Aldus Corporation) |
Растровое |
Обмен данными в настольных издательских системах |
IBM PC, Macintosh, рабочие станции UNIX |
Используется для обмена между несвязанными приложениями или платформами, предполагает высокое качество изображения |
EPS (Adobe Systems и Aldus) |
Растровый, Векторный |
Обмен данными и их перенос с помощью языка PostScript |
То же |
Предназначен для создания технологий, позволяющих приложениям работать с PostScript-изображениями |
JPEG |
Сжатый растровый |
Хранение и отображение фотографических изображений |
То же + аппаратная реализация |
Является основным форматом для хранения цифровых фотографий. Качество регулируется Q-фактором (1 -соответствует максимальному сжатию, 100 - минимальному) |
GIF (CompuServe Incorporated) |
Растровое |
Передача графических данных в режиме on-line по сети CompuServe |
IBM PC, рабочие станции UNIX |
Отличный формат для обмена между платформами, хорош для хранения, прост в реализации, использует LZW сжатие. |
MPEG (ISO) |
Движущийся растровый |
Компрессия/декомпрессия видео со звуком для multimedia/hypermedia |
Независим от платформ, реализуется аппаратно |
Использует сложную процедуру покадрового и внутрикадрового сжатия видео и аудио информации в реальном времени, но требует существенной вычислительной мощности |
DXF |
Векторный |
Для САПР |
|
Поддерживается всеми САПР-программами, включая AutoCAD |
Примечания.
Обозначения:
TIFF - от англ. Tag Image File Format - формат изображения с признаками, EPS - от англ. Encapsulated PоstScript - включающий PоstScript, JPEG - от англ. Joint Photographic Experts Group - объединенная группа экспертов по фотографии, GIF - от англ. Graphics Interchange Format - формат взаимообмена с графикой, MPEG - от англ. Moving Picture Expert Group - группа экспертов по движущимся изображениям, DXF - от англ. Drawing eXchange Format - формат графического обмена.
Формат GIF по размеру изображения и глубине цветов подобен PCX, по структуре - TIFF.
PostScript - универсальный, не зависящий от платформы язык описания страницы разработан фирмой Adobe Systems.