39059

Обработка изображений в математическом пакете MATLAB с использованием расширения Image processing toolbox

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-09-30

150.5 KB

90 чел.

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

Существует практика обработки изображений в математическом пакете MATLAB с использованием расширения Image processing toolbox. Основной структурной единицей данных в MATLAB является массив. Для представления изображений данные в массивах должны нести информацию о соответствующих значениях интенсивностей цвета. MATLAB запоминает большинство изображений в виде двумерного массива (т.е. матрицы), в котором каждый элемент соответствует одному пикселю отображаемого изображения. Например, если изображение состоит из 200 строк и 300 столбцов, то оно в системе MATLAB запоминается в виде матрицы с размерностью 200×300. Некоторые изображения, например полноцветные, представляются в виде трехмерных массивов, где представлены соответственно красная, зеленая и синяя составляющие. Такое представление изображений упрощает их обработку и позволяет в полной мере использовать, возможно, системы MATLAB, в частности, в области обработки изображений.

Приложение Image Processing Toolbox работает с четырьмя типами изображений, характеристики которых приведены в таблице. Типы изображений определяют способ интерпретации системой MATLAB данных элементов матрицы в качестве значений интенсивностей пикселей. Рассмотрим некоторую информацию относительно каждого типа данных .

Тип изображения

Описание

Бинарное (Binary)

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

Индексное (Indexed)

Массив в формате logical, uint8, uint16, single или double, значения пикселей которого являются индексами из палитры. Палитра представляет собой массив с размерностью , который представлен в формате double. Также известны псевдоцветные изображения.

Примечание.

Для массивов, которые представлены в формате single или double, значения находятся в диапазоне  Для массивов, которые представлены в формате logical, uint8 или uint16 диапазон значений составляет

Полутоновое(Grayscale)

Массив изображения в формате uint8, uint16, int16, single или double. Значения пикселей описывают значения интенсивностей изображения. Они известны также как яркостные изображения. Для изображений в формате single или double, значения пикселей находятся в диапазоне . Если изображения представлены в формате uint8, то значения пикселей находятся в диапазоне . Если же изображения представлены в формате uint16, то значения пикселей находятся в диапазоне . Для формата int16 значения могут находиться в диапазоне

Полноцветное(Truecolor)

Изображения представляются массивом с размерностью  в формате uint8, uint16, single или double. Значение пикселя равно значению интенсивности. Эти изображения известны еще как RGB изображения. Для изображений в формате single или double значения пикселей находятся в диапазоне . Если изображения представлены в формате uint8, то значения пикселей находятся в диапазоне . Если же изображения представлены в формате uint16, то значения пикселей находятся в диапазоне .

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

Матрица данных может быть представлена в формате uint8, uint16, int16, single или double. В очень редких случаях полутоновые изображения запоминаются вместе со своей палитрой, которая используется затем при визуализации изображения.

Для матриц, которые представлены в формате single или double используется полутоновая палитра. Интенсивность 0 отображается черным цветом, а интенсивность 1 - белым. Для матриц, которые представлены в формате uint8, uint16 или int16 интенсивность intmin(class(I)) представляет черный цвет, а интенсивность intmax(class(I)) - белый цвет.

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

Графический файловый формат запоминает полноцветные изображения как 24-битные данные, где красная, зеленая и синяя компонента представлены 8 битами каждая. В сумме это дает около 16 миллионов цветов. Благодаря этому полноцветные изображения могут отображать объекты с большой точностью и являются очень реалистическими.

Полноцветные изображения могут быть представлены в формате uint8, uint16, single или double. Если массив полноцветного изображения представлен в формате single или double, то значение каждой цветовой компоненты находится в диапазоне от 0 до 1. Пиксель, цветовыми компонентами которого являются (0,0,0) отображается черным цветом, а пиксель, компонентами которого являются (1,1,1) отображается белым цветом. Три цветовые компоненты для каждого пикселя запоминаются вдоль каждой из трех размерностей массива данных. Например, красная, зеленая и синяя составляющие пикселя (10,5) запоминаются соответственно в RGB(10,5,1), RGB(10,5,2) и RGB(10,5,3). На следующем рисунке отображено полноцветное изображение, которое представлено в формате double.

Для определения цвета пикселя (2,3) необходимо получить все RGB составляющие, которые находятся в (2,3,1:3). Пусть (2,3,1)содержит значение 0.5176, (2,3,2) содержит значение 0.1608 и (2,3,3)  - значение 0.0627. Тогда цвет для пикселя (2,3) может быть представлен как 0.5176 0.1608 0.0627.

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

Пример 1.

Считаем и визуализируем полутоновое изображение rice.png.

 I = imread('rice.png');

imshow(I)

Пример 2.

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

В примере используется функция imopen, которая выполняет морфологическое раскрытие. При этом также используется функция strel для создания структурного элемента в виде диска с радиусом 15.

 background = imopen(I,strel('disk',15));

Для просмотра и оценки фона используются следующие команды

figure, imshow(background)

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

 figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);

 set(gca,'ydir','reverse');

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


 

А также другие работы, которые могут Вас заинтересовать

16231. Сложения двух гармонических колебаний точки 91.5 KB
  Лабораторная работа по физике на тему: Сложение гармонических колебаний. Колебание тела которое происходит по законам синуса или косинуса называется гармоническим Общее уравнение гармонических имеет вид. Гармонические колебания характеризуются...
16232. Определение скорости звука методом акустического резонанса 104.5 KB
  Определение скорости звука методом акустического резонанса. Краткая теория. Звуковые волны представляют собой последовательные сжатия и разряжения среды т. е. упругие волны частоты которых лежат в пределах от 20 до20000 Гц. Появление звука всегда обусловлено колебания...
16233. Определение логарифмического декремента затухания физического маятника 77 KB
  Лабораторная работа №2. Тема: Определение логарифмического декремента затухания физического маятника. Краткая теория Звуковые волны представляют собой последовательные сжатия и разряжения среды т. е. упругие волны частоты которых лежат в пределах от 20 до20000 Г...
16234. Создать поздравительную открытку 1.08 MB
  Создать поздравительную открытку. Описание задания: Любое из предложенных фото превратить в поздравительную открытку используя текст с применением спецэффекта по вашему усмотрению. Рекомендуем увеличить размер холста и сделать надпись выше или ниже изображения...
16235. Решение обыкновенных дифференциальных уравнений. Визуализация численных методов 223.5 KB
  КУРСОВАЯ РАБОТА по информатике: Визуализация численных методов. Решение обыкновенных дифференциальных уравнений. Содержание: Введение. Постановка задачи. Описание методов решения. Суть задачи. Геометрический смысл задачи. Численные методы реш...
16236. Визуализация численных методов 449.83 KB
  Курсовая работа Визуализация численных методов Cсодержание Содержание Введение 1. Постановка задачи и математическая модель 2. Описание используемых методов 3. Блоксхемы основных процедур 4. Виды формы проекта 5.Листинг программы на языке Visual Basic 6.Ре
16237. Визуализация численных методов. Решение обыкновенных дифференциальных уравнений 350 KB
  Визуализация численных методов. Решение обыкновенных дифференциальных уравнений. Содержание Введение. 1. Постановка задачи и математическая модель. 2. Описание численных методов применительно к конкретной задаче 3. Блоксхемы программ и основных подпрограм
16238. ИНФОРМАТИКА. ВИЗУАЛИЗАЦИЯ ЧИСЛЕННЫХ МЕТОДОВ. РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ 241 KB
  ИНФОРМАТИКА. ВИЗУАЛИЗАЦИЯ ЧИСЛЕННЫХ МЕТОДОВ. РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ Представлены методические рекомендации для выполнения курсовой работы и 30 вариантов заданий для курсовой работы по дисциплине Информатика для студентов 1го курса специ...
16239. Работа с программой-осциллографом Probe 310.06 KB
  Лабораторная работа № 6 Работа с программойосциллографом Probe Цель: изучить возможности программыосциллографа Probe научиться строить и редактировать диаграммы с использованием наиболее важных операций. Порядок выполнения работы 1 Начертите схему электрическ