3677 ГЕОИНФОРМАЦИОННАЯ СИСТЕМА NORMSAT

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

АНАЛИЗ И ОБРАБОТКА СПУТНИКОВЫХ  ИЗОБРАЖЕНИЙ

В  ПРОГРАММНОЙ  СИСТЕМЕ  NORMSAT

 

  1. 1. Цель работы

Ознакомление с геоинформационной системой NormSat и приобретение навыков работы с ней. Изучение процессов обработки, визуализации и интерпретации космических снимков, выполнение по ним измерений и определение их статистических характеристик.

 

  1. 2. Назначение и основные функции  системы NormSat

NormSat – это географическая информационная система космического картографирования, разработанная на кафедре ЭВМ Рязанской государственной радиотехнической академии. Она предназначена для обработки космических изображений земной поверхности, полученных от российских спутниковых систем дистанционного зондирования в интересах потребителей различных отраслей народного хозяйства.

Основные задачи, решаемые системой NormSat:

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

система NormSat разработана в операционной среде Windows 95/NT4.0 с использованием компилятора Microsoft Visual C++ и обладает стандартизованным MDI‑интерфейсом (Multiple Document Interface – интерфейс составного документа).

Для понимания принципов работы программной системы необходимо разделять такие понятия как документ и область просмотра документа. В данном случае документом является файл с изображением, причем документ – это  не сам файл, а его копия в оперативной памяти. Область просмотра – это окно просмотра данного изображения. Один документ может иметь несколько видов представления. Например, файл с изображением г. Рязани (ryazan.br~) может представляться в цветном виде  (R, G, B) или в виде трех черно-белых снимков, из которых синтезируется цветное изображение.

Количество областей просмотра документа не ограничивается. При закрытии всех окон просмотра закрывается и сам документ, а при закрытии документа закрываются и все его окна просмотра.

Пользовательский интерфейс NormSat реализован в соответствии со стандартом, определяющим интерфейс графической оболочки Windows. Главное окно программы состоит из типичных для среды Windows элементов (рис. 1).

 

 

Рис. 1. Главное окно программы

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

Сразу после запуска NormSat строка меню содержит два пункта:

  • файл;
  • Помощь.

Для открытого документа строка меню расширена и содержит следующие пункты:

  • файл;
  • Изображение;
  • Обработка;
  • Окно;
  • Помощь.

Пункты главного меню представляют собой меню следующего уровня.

Меню файл используется для открытия и сохранения файлов, закрытия документов и выхода из программы.

Меню Изображение предназначено для реализации операций по выделению на изображении областей, построению гистограммы, получению яркостных срезов.

В меню Обработка предусмотрен вызов функций геометрической и фотометрической обработки спутниковых изображений.

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

Меню Помощь предназначено для получения кратких сведений о разработчике и версии программы.

Помимо задания режимов работы в главном меню в программе предусмотрена возможность ускоренного выбора некоторых режимов с помощью кнопок инструментальных панелей.

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

Панель Масштаб предназначена для управления масштабом отображения.

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

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

Открытие файла с изображением

Работа в системе NormSat начинается с открытия файла исходного изображения. Для этого используются пункты меню Файл – Открыть, либо кнопка . При этом на экране отображается стандартное окно диалога, обеспечивающее доступ к дискам, каталогам и файлам. Файлы космических изображений хранятся в специальном формате BRS и имеют расширение .br~.

Формат BRS подобен стандартному графическому формату BMP и состоит из двух частей: заголовка и видеоданных (подробно формат BMP изучается в лабораторной работе №2). В заголовке содержится как служебная информация общего характера (например, размер изображения), так        и специфические характеристики изображения (тип съемочной аппаратуры, дата и время съемки, положение спутника на момент съемки и т.д.). При открытии файла эта информация считывается и используется компонентами системы NormSat в процессе обработки изображения.

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

Визуализация изображения

Космическая съемка производится специальной аппаратурой в нескольких зонах спектра (например, в трех зонах длиной волны G=0,6-0,7мкм, B=0,7-0,8мкм и R=0,8-0,9мкм). Отсюда полученное изображение воспринимается в непривычном для человеческого глаза виде. Поэтому для распознавания объектов земной поверхности на снимках следует запомнить:

  • растительность на космических изображениях выглядит красной и чем интенсивнее зелень, тем ярче красный цвет;
  • населенные пункты обычно видны как разрывные объекты ярко-голубого или бледно-желтого оттенка;
  • в естественных цветах воспринимаются: песок, облака, снег, водная поверхность.

Говоря о цвете  объектов на изображении, следует иметь в виду, что цвет каждого пиксела  на экране монитора представляется комбинацией трех компонент: красный, зеленый и синий (RGB). При этом коды RGB экранных пикселов отличаются от кодов яркости пикселов исходного изображения, поскольку при выводе изображения на экран выполняется операция его автоматического контрастирования. Под контрастированием понимается процесс преобразования диапазона яркости исходного изображения в диапазон яркости монитора (0-255). Типичная (линейная) функция контрастирования показана на   рис. 2.

 

 

 

Рис. 2. Окно контрастирования

В системе NormSat функция контрастирования подбирается автоматически, чтобы обеспечить наилучшее визуальное восприятие изображения. Для управления параметрами контрастирования, приводящими к изменению яркости и насыщенности изображения, используется диалоговая панель Контрастирование (рис. 2), которая вызывается по нажатию кнопки   или с помощью меню Окно – Инструменты. Модификация параметров контрастирования выполняется путем изменения крутизны и сдвига передаточной характеристики относительно гистограммы распределения яркостей.

Для компоновки изображений в пределах экрана используются меню Окно-Каскад или Окно-Мозаика. Дополнительные виды изображения отображаются посредством меню Окно-Добавить.

Увеличение или уменьшение изображения в окне просмотра происходит с помощью пунктов меню Окно-Масштаб или соответствующих кнопок инструментальной панели.

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

Измерения на изображениях

Система NormSat позволяет измерять на изображениях:

  • плоскостные и географические координаты отдельных точек;
  • яркости пикселов;
  • длины интерактивно задаваемых контуров;
  • площади выделенных объектов.

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

Для определения расстояния между какими-либо объектами следует подвести курсор мыши к первому объекту, нажать левую кнопку и переместить курсор ко второму объекту, затем отпустить кнопку мыши. Длина линии отобразится в специальной информационной панели.

Для измерения площади объекта необходимо сначала выделить область на изображении, после чего автоматически рассчитается площадь выделенного участка.

Определение статистических характеристик изображения

Одной из наиболее емких информационных характеристик изображения является его гистограмма. Гистограмма показывает распределение количества элементов изображения (пикселов) по уровням яркости (0-255).

Для построения гистограммы необходимо сделать  активным окно анализируемого изображения, а затем выбрать пункты меню Изображение-Гистограмма или нажать  кнопку . Полученная гистограмма будет иметь вид как на рис. 3.


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

Рис. 3. Гистограмма изображения

По гистограмме f(i) рассчитываются статические характеристики изображения: математическое ожидание b и среднеквадратическое отклонение sb, играющие важную роль при расчете параметров автоконтрастирования и фотометрической обработки:

,     ,

где N – число анализируемых элементов изображения.

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

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

При выполнении данного пункта студенты должны уметь:

-       оценивать яркостный диапазон наблюдаемого участка изображения;

-       вычислять среднюю яркость снимка в каждом спектральном канале;

-       определять модальность (количество локальных максимумов) гистограммы и яркость снимка, вычисленную по медиане.

Все результаты необходимо уметь интерпретировать.


Нормализация космических изображений

Космические изображения, получаемые в процессе дистанционного зондирования Земли, не могут в исходном виде использоваться в качестве картографических измерительных документов. Причина этого заключается в том, что изображение содержит геометрические и фотометрические искажения, возникающие в процессе съемки.

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

Фотометрические искажения вызываются разбросом передаточных характеристик фотоприемных элементов и проявляются в виде вертикальной или горизонтальной “полосатости” изображений.

Процедура, с помощью которой устраняются указанные искажения, называется первичной обработкой или нормализацией. Цель нормализации заключается в получении из исходных изображений космокарт.

Для задания опций нормализации используется диалоговая панель, показанная на рис. 4. Ее открытие осуществляется при выборе пункта Обработка-Нормализация или с помощью инструментальной кнопки .

 

 

 

Рис. 4. Диалоговая панель задания параметров нормализации

Для выполнения фотометрической коррекции изображения включается опция Статистическая в разделе Фотометрическая нормализация. Включенная опция Геометрическая нормализация запускает процедуру геометрической коррекции и трансформирования изображения в картпроекцию. Нажатие кнопки ОК приводит к запуску нормализации.

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

При выполнении данного пункта необходимо выполнить сравнение исходного и нормализованного изображений: геометрической формы и наличия структурных фотометрических искажений, проявляющихся в виде вертикальной и горизонтальной «полосатости» снимков.

Совмещение изображения с электронной картой

Векторная электронная карта – это цифровое представление точечных, линейных и полигональных пространственных объектов, заданных в виде наборов известных координатных пар отдельных векторов, хранящихся в специальном векторном формате. Электронные карты – как источник данных организованы послойно (рис.5). При этом под слоем понимается совокупность однотипных пространственных объектов, относящихся к одному классу (например, слой автодорог, слой рек и т.п.).

Совмещение электронной карты (ЭК) с растровым снимком выполняется для аннотирования последнего и для уточнения параметров его географической привязки.

Система NormSat обеспечивает работу с векторной электронной картой Мира масштаба 1:1000000 (масштаб электронной карты соответствует масштабу бумажного оригинала, на основе которого она создавалась). Совмещение ЭК с изображением возможно в двух режимах: без учета ОТМ и с учетом ОТМ (здесь ОТМ – опорная точка местности, т.е. объект местности с известными географическими координатами).

В первом режиме ЭК наносится на исходное, или нормализованное изображение, географические координаты которого определены по орбитальным параметрам спутника. Во втором случае по координатам ОТМ уточняются географические координаты снимка и его совмещение с ЭК происходит более точно.


Рис. 5. Пример послойной организации данных

Для нанесения ЭК на плоскость снимка необходимо:

  • открыть требуемый файл;
  • выбрать пункт меню Изображение-Нанесение карты, после чего в раскрывшемся окне выбрать требуемые слои, установить цвет и толщину объектов выбранных слоев (рис. 6);
  • запустить процесс нанесения ЭК путем нажатия ОК.

Коррекция ошибки географической привязки

После нанесения на изображение электронной карты определяется точность географической привязки снимка. Для этого на карте и снимке определяют одноименный объект. Далее измеряют географические координаты точки на снимке и карте и вычисляют ошибку геопривязки снимка к карте в километрах. Если ошибка геопривязки велика, то выполняют коррекцию параметров геопривязки снимка с помощью ОТМ.


Уточнение географической привязки с использованием опорных точек местности осуществляется с помощью закладки Коррекция привязки.

Рис. 6. Диалоговое окно Нанесение векторной карты

Для коррекции географической привязки с использованием опорных точек местности пользователю необходимо.

1. До вызова листа свойств Параметры обработки с помощью Редактора ОТМ (команда меню Изображение-Редактор ОТМ) занести в заголовок исходного изображения координаты ОТМ.

2. В закладке Коррекция привязки листа свойств Параметры обработки установить переключатель Коррекция привязки с использованием ОТМ.

3. Вид корректирующего полинома выбирается автоматически в зависимости от числа опорных точек местности:

  • нулевой (осуществляется плоскопараллельное смещение геометрически обработанного кадра по одной ОТМ);
  • линейный:

для 3-х и более ОТМ;

  • билинейный:

для 4-х и более ОТМ,

где  (X,Y), (x,y)  –  соответственно плоскостные координаты одноименных точек на карте и изображении;  –  векторы коэффициентов полинома.

В программе NormSat реализована удобная технология работы с опорными точками местности, обеспечивающая замкнутость операций по подготовке ОТМ и их использованию при геометрической коррекции и географической привязке. Координаты ОТМ создаются, корректируются специальным редактором и автоматически заносятся в заголовок открытого файла документа. Кроме того, сохраняется возможность работы в редакторе с файлом координат ОТМ.

Для вызова редактора необходимо выбрать пункты меню Изображение-Редактор ОТМ, при этом на экране отобразится диалоговая панель, показанная на рис. 7.

 

Рис. 7. Панель редактора ОТМ

Для добавления новой ОТМ к списку присутствующих в файле необходимо воспользоваться кнопкой Новая,  при этом в списке ОТМ  окна редактора появится новая строка,  отображающая опорную точку с исходными значениями параметров. Данные параметры могут быть скорректированы посредством изменения значений полей редактирования в групповой панели параметров текущей ОТМ. После внесения необходимых изменений необходимо воспользоваться кнопкой Обновление параметров, при этом все данные о текущей ОТМ будут занесены в заголовок.

Более удобный способ создания списка ОТМ может применяться при наличии векторной карты местности. Для снятия опорных точек с помощью векторной карты необходимо сначала нанести карту на изображение. Затем требуется нажать кнопку Ввести в окне редактора, при этом курсор мыши примет вид перекрестия с надписью ОТМ в верхнем правом углу, а в строке состояния отобразится подсказка:

Определите точку на карте.

Далее необходимо с помощью мыши определить одноименный объект на карте и нажать левую кнопку мыши, затем перевести курсор на одноименную точку изображения и опять нажать левую кнопку мыши. При этом в список автоматически будет добавлена новая ОТМ.

Для просмотра, редактирования и удаления введенных ОТМ необходимо сначала с помощью мыши выделить интересующую точку в поле списка ОТМ окна редактора. При этом все параметры выделенной опорной точки местности будут отображены в полях редактирования групповой панели параметров текущей ОТМ, что делает возможным их редактирование. Для сохранения внесенных изменений необходимо воспользоваться кнопкой Сохранение параметров. Для определения расположения выделенной ОТМ на изображении необходимо воспользоваться кнопкой Отобразить или использовать двойной щелчок мышью на списке точек в окне редактора. Удаление выделенной ОТМ осуществляется с помощью кнопки Удалить.

Если координаты ОТМ создавались каким-либо внешним редактором, то их загрузка в программу выполняется с помощью кнопки Загрузить из файла. Аналогично, если требуется сохранить координаты ОТМ в виде отдельного файла, то используется кнопка Записать в файл.

Улучшение визуальных качеств изображений

Меню Эффекты предоставляет пользователю ряд функций улучшения качества изображения с использованием  методов масочной фильтрации.

Сглаживающий фильтр. Использование данного фильтра позволяет частично сгладить радиометрические неровности изображения. Фильтр представляет собой обычную усредняющую маску

 

Для выполнения функции необходимо  выбрать пункты меню Обработка-Эффекты-Сглаживающий фильтр.

Подчеркивание границ. Использование этой функции позволяет получить изображение с подчеркнутыми границами. Для выполнения этой операции необходимо выбрать пункты меню Обработка-Эффекты-Подчеркивание границ. При этом на экране отобразится диалоговая панель, представленная на рис. 8.

Данная диалоговая панель предоставляет возможность с помощью регулятора установить степень подчеркивания. Степень  может задаваться в пределах 1 - 32. При этом максимальный эффект подчеркивания достигается при использовании степени 32.

 

Рис. 8. Диалоговая панель задания степени подчеркивания границ

Выделение яркостного рельефа. Использование этой функции позволяет «подчеркнуть» яркостные перепады с помощью операции свертки массива изображения с курсовой градиентной маской

Для выполнения функции необходимо  выбрать пункты меню Обработка-Эффекты-Выделение рельефа.

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

  1. 3. Порядок выполнения работы

  1. С помощью кнопки Пуск раскрыть каскадированное меню, в котором указать на строку Программы, затем в раскрывшемся меню выбрать строку ГИС, после чего запустить программу NormSat щелчком мыши на иконке .
  2. Открыть изображение ryazan.br~, расположенное в каталоге с:\ Лабораторные работы\ IMAGE.
  3. Разложить изображение по цветовым составляющим, выполнить его масштабирование с уменьшением и увеличением.
  4. Перевести область просмотра документа на черно-белое изображение. Выделить на нем локальную область и подобрать для него оптимальные параметры контрастирования.
  5. Получить статистические параметры объекта, выделенного на изображении R и B, сравнить результаты и дать им интерпретацию.
  6. Сделать активным цветное изображение, определить на нем два знакомых объекта и определить между ними расстояние.
  7. Выполнить геометрическую и фотометрическую обработку изображений, полученных датчиками МСУ-Э (район г. Рязань) и МСУ-СК (район Персидского залива). Сравнить результаты с исходными изображениями.
  8. Закрыть все открытые изображения и открыть изображение, указанное преподавателем. Совместить его с электронной картой, уточнить параметры геопривязки и объяснить результаты.
  9. Выполнить операции по повышению дешифрируемости заданного участка изображения. Сравнить результаты  с исходным  снимком, объяснить результаты.

10.   Продемонстрировать выполнение пп. 3-9  преподавателю.

4.   Содержание отчета

 

Последовательность действий при выполнении пунктов 3–9.

 

  1. 5. Контрольные вопросы

  1. Принципы организации меню в MS Windows и его основные компоненты.
  2. Дать понятие области просмотра документа. Способ задания на изображении рабочей области.
  3. Пояснить механизм получения цветного изображения.
  4. Каким образом измеряются яркость пиксела и линейные расстояния между объектами?
  5. Пояснить смысл операции контрастирования.
  6. Какие виды обработок выполняются при нормализации.
  7. Дать определение слоя на ЭК.

 


1. Фролов А.В., Фролов Г.В. Графический интерфейс GDI в MS Windows. М.: Диалог–МИФИ, 1994. 288 с. (Библиотека системного программиста, т. 14).

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

Растровый формат изображений

 

  1. 1. Цель работы

Знакомство с форматом представления растровых изображений. Получение навыков цветового кодирования полутоновых снимков и создания файлов в формате BMP.

 

2. Теоретическая часть

Под  растровым  (bitmap) представлением   цифрового изображения понимается описание последнего в виде двумерной матрицы с неотрицательными элементами. Каждый элемент матрицы отвечает одному элементу изображения – пикселу. Например, матрица B состоит из пикселов , где индекс  обозначает номер строки, а  - номер элемента в строке (номер столбца). Такое представление хорошо подходит для изображений со сложными изменениями цветов, оттенков и форм, таких как космические снимки и оцифрованные фотографии.

Среди множества различных форматов представления растровых изображений в лабораторной работе рассматривается формат BMP, используемый в MS Windows 3.0/98/2000. Отличительная особенность данного формата заключается в использовании RGB‑схемы смешения цветов с применением одной битовой плоскости. RGB-цвет состоит из первичных  красной, зеленой и синей составляющих, обычно используемых на устройствах, которые излучают свет (компьютерный монитор). Регулируя количество красного, зеленого и синего света, генерируется большое разнообразие цветов. Механизм задания экранного цвета пиксела показан на схеме.

Яркость пиксела , принадлежащего матрице изображения В, используется как индекс при обращении к массиву структур RGBQUAD, хранящемуся в заголовке файла bitmap и содержащему интенсивности цветов красного, зеленого и синего, представленные числовыми значениями в диапазоне 0¸255. Выбранный элемент массива с номером  представляет собой 32-битное слово, адресуемое к  цветовым оттенкам в формате RGB (256 градаций на каждую из трех составляющих, четвертый байт не используется). Далее графический драйвер Windows преобразует структуру RGBQUAD в величину, соответствующую установленному на компьютере видеорежиму. Например, в 8-битное слово для 256-цветового режима, 16-битное слово для режима HiColor и т.п. Полученное значение непосредственно заносится в видеопамять и отображается на мониторе.

Файлы   в  формате   BMP задаются с расширением .bmp и имеют следующую структуру. В начале файла содержится структура заголовка BITMAPFILEHEADER.

typedef   unsigned char   BYTE;

typedef   unsigned short  WORD;

typedef   unsigned long   DWORD;

typedef struct {

WORD   bfType;   // Тип файла (ASCII строка - "BM")

DWORD                bfSize;                     // Размер файла в байтах

WORD   bfReserved1;           // Не используется

WORD   bfReserved2;           // Не используется

DWORD                bfOffbits;     // Смещение в байтах

// до начала изображения в файле

} BITMAPFILEHEADER;

Непосредственно за ней располагается структура BITMAPINFO, содержащая всю информацию об изображении. Она делится на две части: структуру BITMAPINFOHEADER, описывающую  размеры  и  цветовой формат изображения, и массив структур  RGBQUAD,  определяющих цветовую палитру:

typedef struct {

BITMAPINFOHEADER  bmiHeader;

RGBQUAD bmiColors[N];  // N - количество элементов

// в таблице цветов, обычно 2, 16 или 256

} BITMAPINFO;

typedef struct {

DWORD  biSize;   // Число байт, занимаемых структурой                                                                 // BITMAPINFOHEADER (40 байт)

DWORD  biWidth;     // Ширина изображения в пикселах

DWORD  biHeight;    // Высота изображения в пикселах

WORD     biPlanes;    // Число битовых плоскостей устройства, должно быть 1

WORD     biBitCount;          // Число бит на пиксел 1, 4, 8, 24

DWORD  biCompression;      // Тип сжатия

DWORD  biSizeImage;           // Размер сжатого изображения в байтах или ноль

DWORD  biXPelsPerMeter;   // Горизонтальное разрешение изображения,  пиксел/метр

DWORD  biYPelsPerMeter;    // Вертикальное разрешение изображения,

// пиксел/метр

DWORD  biClrUsed;                  // Число используемых цветов

DWORD  biClrImportant;     // Число "важных" цветов

} BITMAPINFOHEADER;

 

Более подробно:

biSize – обычно используется для облегчения доступа  к таблице цветов;

BiPlanes – определяет число битовых плоскостей; однако, поскольку цвет кодируется последовательными битами, это число всегда равно 1;

BiBitCount – этим полем определяется число цветов для кодирования изображения.
В зависимости от способа кодирования данная величина может принимать значения.

1-битовый образ изображения монохромный, т.е. изображение представлено всего двумя цветами и каждый пиксел изображения задается всего одним битом. Таблица цветов в этом случае содержит всего два элемента 0 и 1. Если значение пиксела 0, то ему присваивается первый цвет таблицы, если  1, то пикселу присваивается второй цвет таблицы.

4-битовый образ изображения полутоновой, т.е изображение содержит максимум 16 цветов, а каждый пиксел кодируется четырьмя битами. Массив bmiColors имеет 16 элементов (N=16). Цвет каждого пиксела задается по таблице цветов с помощью четырехбитного индекса. Например, если первый байт изображения, состоящий из двух пикселов, имеет шестнадцатеричное значение 0x3A, то при отображении на мониторе цвет первого пиксела определяет четвертый элемент таблицы, а цвет второго – одиннадцатый.

8-битовый образ изображения имеет максимум 256 цветов и каждый пиксел кодируется одним байтом. Таблица цветов содержит 256 значений, т.е. каждой яркости пиксела соответствует свой цвет из таблицы.

24-битовый образ задает истинные цвета (TrueColor) изображения, всего порядка  . Каждый пиксел задается пакетом из трех байт, поэтому таблица цветов отсутствует и яркость пиксела определяется значением его компонентов, т.е.  интенсивностями красного, зеленого и синего цветов.

Переменные biCompression, biSizeImage, biXPelsPerMeter, biYPelsPerMeter, biClrUsed и biClrImportant в данной лабораторной работе не рассматриваются, поэтому смысл их не раскрывается. В программе им должны быть присвоены значения 0, 0, 160, 160, 0, 0 соответственно.

Таблица цветности определяется следующей структурой.

 

typedef struct tagRGBQUAD {

BYTE      rgbBlue;  // Интенсивность синего

BYTE      rgbGreen; // Интенсивность зеленого

BYTE      rgbRed;   // Интенсивность красного

BYTE      rgbRserved;            // Не используется

} RGBQUAD;

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

 

3. Исходные данные для выполнения работы

Выполнение лабораторной работы заключается в написании программы  создания файлов изображений в формате BMP. Текст программы-шаблона на языке Visual C++ и описание функций работы с файлами приводятся в приложении. Исходными данными для программы являются матрицы различных изображений размерностью 640´480:

color2.mtx – бинарная (двухцветная) матрица;

color16.mtx – 16-цветная матрица;

color256.mtx – 256-цветная матрица;

color16m.mtx – матрица изображения в формате TrueColor.

В программу-шаблон необходимо добавить операции обработки матрицы изображения, заполнения заголовочных структур и записи на диск BMP-файла, созданного в соответствии с полученным от преподавателя заданием.

4. Порядок выполнения работы

 

  1. Получить задание у преподавателя.
  2. Загрузить среду Visual C++ и создать простое (simple) консольное приложение в каталоге d:\Users\<Номер группы>.
  3. Используя пример программы, приведенный в приложении, добавить в текст программы операторы, позволяющие создать BMP-файл, соответствующий варианту задания.
  4. Откомпилировать и запустить программу на выполнение.
  5. В случае отсутствия сообщений об ошибках в процессе выполнения открыть программной системой NormSat из рабочего каталога созданный файл, убедиться в его корректности и показать результаты преподавателю.
  6. Закрыть программу NormSat и удалить созданные файлы.

5. Содержание отчета

  1. Текст получившейся программы.
  2. Корректно открытое изображение.

 

  1. 6. Контрольные вопросы

  1. Пояснить принцип формирования цветного изображения с помощью палитры.
  2. Пояснить назначение полей заголовка файла BMP.
  3. Каким образом можно разместить дополнительную информацию в заголовке файла BMP?

4. Какой максимальный размер может иметь матрица монохромного изображения в формате BMP?

  1. 7. Возможные варианты заданий

  1. Загрузить в программу: а) матрицу color16.mtx , б) матрицу color256.mtx.

Выделить на изображении фрагмент 200´200 пикселов и сохранить его как цветное BMP-изображение с равномерным распределением цветовой палитры для всего диапазона яркостей.

  1. Загрузить в программу матрицу color16m.mtx, выделить из нее изображение канала R (В или G) и сохранить его в черно-белом виде. Повторить то же самое для фрагмента 200´200 пикселов, расположенного в центре снимка.

 

 

1. Климов А.С. Форматы графических файлов.  Киев: НИПФ ДиаСофт лтд, 1995. 480 с.

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

яркостная  обработка  изображений

  1. 1. Цель работы

Изучение методов яркостной обработки изображений и получение практических навыков по их программной реализации.

 

  1. 2. Теоретическая часть

Обработка сигнала с целью улучшения качества изображения является неотъемлемым звеном любой ГИС. Эта важная ступень обработки, методика и объем которой определяются задачами анализа изображений. Отправной точкой для выбора подходящей методики служит обеспечение такого качества изображения, при котором достигается:

  • достоверность изображения – соответствие наблюдаемого на экране монитора изображения реальной сцене;
  • дешифрируемость изображения – возможность выделения из изображения необходимой информации.

Основными методами, направленными на решение сформированных задач, являются: повышение контраста и сглаживание шумов на изображении, а также подчеркивание контуров и яркостного рельефа.

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

Обозначим  - яркость элемента исходного изображения, а через  - яркость элемента преобразованного изображения. Тогда линейная функция изменения контраста может быть представлена в следующем виде:


,  .

Для монитора компьютера  .

Пусть эффективный диапазон яркостей изображения  равен ,   (см. работу № 1). Коэффициенты линейной функции, обеспечивающей преобразование этого диапазона к диапазону экрана монитора, рассчитываются из условия:

 

В результате формула преобразования будет выглядеть следующим образом:

.

Вычитание нежелательного фона на изображении В реализуется в соответствии с алгоритмом:

=

а сегментация выполняется по правилу:

=

где А – изображение выделяемого объекта, const – некоторое число в диапазоне от 1 до .

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

При сглаживании изображений возникают два принципиальных вопроса:

-        должны ли границы объектов быть сохранены или их размывание в определенной мере допустимо;

-        должно ли сглаживание только устранять искажения (шум) или же требуется разделение на гладкие сегменты.

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

К наиболее распространенным методам сглаживания относятся низкочастотные операторы с усреднением. Этот линейный усредняющий оператор вычисляет в локальном окне среднюю величину   для текущего элемента изображения  с учетом состояния соседних элементов. Каждая точка результирующего изображения  формируется путем дискретной свертки исходного изображения В с матрицей  размерностью  S´P (S и P - нечетные), описывающей переходную характеристику фильтра:

 

где  матрица Н для  размеров (3´3) и (5´5) соответственно имеет вид:

,   .

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

,

где  - изображение увеличенной резкости.

В ГИС-системах часто для подчеркивания контуров используют дифференциальные операторы Лапласа, которые осуществляют вычисление разности яркостей в пределах скользящего окна. В общей форме дифференциальные операторы линейны:

.

Операция дифференцирования осуществляется за счет формирования разностей соседних элементов изображения. На практике она реализуется путем оператора свертки исходного изображения с одной из масок:

маска 1: ,      маска 2: ,    маска 3: ,

где маска 1 учитывает вторые производные в направлении осей; маска 2 учитывает как осевые, так и диагностические направления; маска 3 получается путем усреднения трех горизонтальных и трех вертикальных вторых производных.

Формирование изображения увеличенной резкости выполняется в соответствии с формулой

.

Подчеркивание яркостного рельефа. Данный оператор осуществляет подчеркивание ориентированных в определенном направлении перепадов яркости. Выделение направления перепада яркости рельефа выполняется путем свертки исходного изображения с курсовыми дифференциальными масками Н. Название курса указывает на направление склона перепада яркости, при котором маска дает максимальный отклик. Градиентные маски обладают нулевым суммарным весом, поэтому в областях с постоянной яркостью они дают нулевой отклик.

Ниже приведены некоторые из масок:

Север: ,      Восток: ,    Юг: ,

Запад: .

 

 

  1. 3. Порядок выполнения работы

  1. Получить задание у преподавателя.
  2. На базе примера программы, приведенного в приложении к работе № 2, написать программу, реализующую яркостную обработку изображения в соответствии с индивидуальным заданием.
  3. Обработанное изображение сохранить в формате BMP, в каталоге d: \Users\< Номер группы>\имя файла\.
  4. Cохранить в формате BMP под другим именем исходное изображение.
  5. Открыть в системе NormSat исходное и обработанное изображения,  сравнить их между собой и показать результаты преподавателю.
  6. Закрыть систему NormSat и удалить созданные файлы.

  1. 4. Содержание отчета

  1. Текст получившейся программы.
  2. Открытые в системе NormSat исходное и обработанное изображения.

 

  1. 5. Контрольные вопросы

  1. Пояснить принцип использования алгоритма контрастирования при визуализации на экране монитора изображений, представленных в кодировке 10 бит/пиксел, .
  2. Каким образом реализуется алгоритм свертки изображения с маской?
  3. В чем отличие операторов подчеркивания контуров и яркостного рельефа?

 

  1. 6. Возможные варианты заданий

  1. Загрузить в программу матрицу color256m.mtx и получить из нее негативное изображение (инверсное по яркости).
  2. Выполнить сегментацию изображения, представленного матрицей color256.mtx. При сегментации выделить: а) изображение моста, б) яхты. Порог  бинаризации  определить с помощью системы NormSat.
  3. Выполнить сглаживание изображения, представленного матрицей color256.mtx, с помощью маски .  Результат сохранить в виде черно-белого изображения.
  4. Выполнить операцию подчеркивания контуров изображения, представленного матрицей color256.mtx,  с помощью маски 1 и маски 3. Изображения сохранить в черно-белом  виде. Сравнить оба результата с исходным снимком.
  5. Создать BMP-изображение (черно-белое) из матрицы color256.mtx, открыть его в системе NormSat и подобрать оптимальное направление подчеркивания яркостного рельефа, т.е. обосновать выбор градиентной маски. Преобразовать изображение в соответствии с выбранной маской.

Библиографический список

1. Цифровое преобразование изображений: Учеб. пособие для вузов / Под ред. Р.Е.Быкова. М.: Горячая линия – Телеком, 2003. 228 с.

2. Цифровая обработка изображений в информационных системах: Учеб. пособие /  И.С.Грузман, В.С.Киричук и др. Новосибирск: Изд-во НГТУ, 2002.  352 с.

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

Геометрические  преобразования  изображений

 

  1. 1. Цель работы

Изучение методов геометрического преобразования растровых изображений.

 

  1. 2. Теоретическая часть

 

Как отмечалось в лабораторной работе № 1, спутниковые изображения в исходном виде содержат различные геометрические искажения и поэтому непригодны для использования в качестве картографических документов. Эти искажения устраняются в системе NormSat в ходе геометрического преобразования изображения. Рассмотрим суть этой операции.

Под геометрическим преобразованием изображения будем понимать взаимно однозначное точечное отображение плоскости nom, на которой задано исходное изображение в плоскость xoy, т.е. при геометрическом преобразовании изменяется координатное описание изображения, а его полутоновое содержание остается неизменным.

Пусть исходное изображение представлено матрицей отсчетов яркости B, а результирующее – матрицей D Свяжем с исходным изображением систему координат nom, а с преобразованным – систему координат xoy. Тогда произвольный элемент исходного изображения будет представляться как , где , , , , а преобразованного – как , , , ,  (рис. 1).

 

Рис. 1. Прямое геометрическое преобразование

В этом случае прямое геометрическое преобразование задается следующей пересылкой кодов яркости, выполняемой для всех элементов изображения B,

b(n,m), , ,

где , ;  – некоторые зависимости, описывающие прямое геометрическое  преобразование;  ent – операция выделения целой части числа.

Однако такой вид закона преобразования неудобен для обработки, так как анализируемое изображение B испытывает в общем случае разномасштабные растяжения или сжатия вдоль различных направлений. При этом на синтезируемом изображении D образуются пустоты или наложения, поскольку соотношения  реализуются для всех элементов  и не реализуются для всех элементов . Устранение данного недостатка фильтрацией результирующего изображения связано с усложнением обработки. Поэтому более целеобразным  является применение метода обратного преобразования, свободного от указанного недостатка и реализуемого по формулам:

, , ,

где          , ;

– зависимости, описывающие обратное геометрическое преобразование.

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

Интерполированный

Рис. 2. Обратное геометрическое преобразование

Если   координаты  , задающие точку, лежащую вне плоскости изображения B, то пикселу  присваивается значение яркости “фона” (обычно 0).

На практике наибольшее распространение получили два метода яркостной интерполяции значений элементов изображения:

  • по “ближайшему соседу”;
  • билинейная свертка.

В первом случае элементу с координатами  присваивается значение яркости ближайшего к нему пиксела исходного изображения с координатами , определяемого как .

При интерполяции по методу билинейной свертки яркость искомого отсчета вычисляется взвешенным суммированием яркостей 4–х элементов исходного изображения, окружающих точку ,

 

где , .

Среди множества различных видов геометрических преобразований, описываемых зависимостями , ограничимся рассмотрением частного, но важного случая – аффинного преобразования плоскости. Данное преобразование является самым общим взаимно однозначным отображением плоскости на плоскость. Зависимости, задающие аффинное преобразование, представляются в следующем виде:

причем .

Коэффициенты преобразования легко рассчитываются по известным координатам трех точек на исходном и преобразованном изображениях. Например, пусть  и , r =1, 2, 3 координаты трех одноименных точек на исходном и преобразованном изображениях. Тогда для вычисления коэффициентов можно составить систему уравнений:

 

откуда

 


Аналогично вычисляются коэффициенты .

  1. 3. Порядок выполнения работы

  1. Получить задание у преподавателя.
  2. Загрузить среду Visual C++ и создать простое консольное приложение в каталоге  d:\Users\ <Номер группы>.
  3. Написать программу, позволяющую в соответствии с заданием выполнить геометрическое преобразование изображения и сохранить результат в формате BMP.
  4. Откомпилировать и запустить программу на выполнение.
  5. Открыть программной системой NormSat созданный файл,  убедиться  в его корректности и показать результаты преподавателю.
  6. Закрыть NormSat и удалить созданный файл.

 

4.Содержание отчета

  1. Текст получившейся программы.
  2. Геометрически преобразованное изображение.

 

  1. 5. Контрольные вопросы

  1. В чем различие геометрического преобразования по прямому и обратному законам?
  2. В чем смысл яркостной интерполяции?

 

  1. 6. Варианты заданий

  1. Загрузить в программу матрицу color256.mtx. Увеличить это изображение по каждой из осей в 2 раза с использованием интерполяции «по ближайшему соседу» и билинейной свертки.
  2. Загрузить в программу матрицу color256.mtx. Используя обратный закон геометрической обработки и интерполяцию «по ближайшему соседу», получить новое изображение, которое повернуто по отношению к исходному против часовой стрелки на угол 45°. Результат сохранить в черно-белом виде.
  3. Выполнить задание 2, но для прямого закона геометрического преобразования.

 

 

 

1. Анисимов Б.В. , Курганов В.Д. , Злобин В.К. Распознавание и цифровая обработка изображений: Учебное пособие для студентов вузов. М.: Высшая школа, 1983.  295с.

 

 

 

 

 

ПРИЛОЖЕНИЕ

 

 

// <<>><<>><<>><>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><>><<>><<>

>

// Пример программы чтения 3-канальной матрицы изображения и сохранения ее в формате BMP

// <<>><<>><<>><>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><>><<>><<>

>

#include "stdafx.h"

#include "windows.h"       //Включение файла определения API-функций Windows

 

#define ALING4(x) ((((x)-1)/4+1)*4) //Макрос - дополнение величины до ближайшей кратной 4

 

struct S4Bit                        //Структура для доступа к 4-битным изображениям

{

BYTE b1:4;

BYTE b2:4;

};

int main(int argc, char* argv[])

{

BITMAPFILEHEADER  File;   //Структура заголовока файла

BITMAPINFOHEADER  Head;   //Структура параметров растра

RGBQUAD bmiData[256];   //Таблица цветов,

//не используется для 24-битных изображений

BYTE Bitmap[480][640][3]; //Матрица изображения

//Открытие файла матрицы изображения

HFILE hFile=_lopen("c:\\лабораторные работы\\BMP\\color16m.mtx",OF_READ);

if (hFile != HFILE_ERROR) //Если файл открылся нормально

{

_lread(hFile,Bitmap,480*640*3); //Читаем матрицу изображения

_lclose(hFile);                 //закрываем файл

//Определяем параметры файлового заголовка

ZeroMemory(&Head,sizeof(Head)); //Заполнение структуры нулевыми значениями

//Заполнение необходимых полей параметров растра

Head.biSize=40;

Head.biHeight=480;

Head.biWidth=640;

Head.biPlanes=1;

Head.biBitCount=24;

//Заполнение структуры заголовка файла

File.bfOffBits=sizeof(Head) + sizeof(File);

File.bfSize=sizeof(File) + sizeof(Head) + 640*480*3; //Размер файла

File.bfType='B' + (int)'M'*256;                      //Тип файла

//Создание нового файла на диске с именем 1.bmp

hFile=_lcreat("d:\\users\\040\\1.bmp",0);

if (hFile != HFILE_ERROR)

{

_lwrite(hFile,(const char *)&File,sizeof(File)); //Сохранение заголовка файла

_lwrite(hFile,(const char *)&Head,sizeof(Head)); //Сохранение параметров растра

_lwrite(hFile,(const char *)Bitmap,480*640*3);   //Сохранение матрицы изображения

_lclose(hFile);                    //Закрытие файла

}

else MessageBox(0,"Ошибка создания файла BMP","Ошибка",MB_OK);

}

else MessageBox(0,"Ошибка открытия файла изображения","Ошибка",MB_OK);

 

return 0;

}

 

 

СОДЕРЖАНИЕ

 

 

 

 

 

Лабораторная работа № 1. Анализ и обработка спутниковых  изображений 
в  программной  системе NormSat....................................................................…

 

1

 

 

 

Лабораторная работа № 2. Растровый формат изображений .........................…

12

 

 

 

Лабораторная работа № 3. Яркостная обработка изображений ........................

16

 

 

 

Лабораторная работа № 4. Геометрические преобразования

изображений ...…………………………………………………………………….

 

20

 

 

 

Приложение………………………………………………………………………..

23