II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Обработка сигналов и изображений\ Image Processing Toolbox"

И.М.Журавель "Краткий курс теории обработки изображений"

В оглавление книги \ К следующему разделу \ К предыдущему разделу

Бинарные изображения: геометрические характеристики

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

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

Бинарные изображения

Начнем со случая, когда в поле зрения находится объект, а все остальное считается “фоном”. Если объект оказывается заметно темнее (или светлее), чем фон, то легко определить характеристическую функцию , которая равна нулю для всех точек изображения, соответствующих фону, и единице для точек на объекте (рис.1) или наоборот.

Рис. 1. Бинарное изображение, определяемое характеристической функцией , которая принимает значение “нуль” и “единица”.

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

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

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

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

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

Пример:

Этой операции соответствует функция BWEULER – вычисление чисел Эйлера в пакете Image Processing Toolbox:
L=imread('test.bmp');
L=double(L);
imshow(L);

e=bweuler(L(:,:,1), 4)
e =
1; % На объекте действительно одно отверстие.

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

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

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

Простые геометрические характеристики

Допустим снова, что в поле зрения находится лишь один объект. Если известна характеристическая функция , то площадь объекта вычисляется следующим образом:

,

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

Пример:

В системе Matlab этой операции соответствует функция BWAREA – вычисление площади объектов.
L=imread('test.bmp');
L=double(L);
imshow(L);


S=bwarea(L(:,:,1))
e =
24926; %Площадь объекта в пикселах (размер изображения 236х236).

Площадь и положение

Как определить положение объекта на изображении? Поскольку объект, как правило, состоит не из одной единственной точки, мы должны четко определить смысл термина “положение”. Обычно в качестве характерной точки объекта выбирают его геометрический центр (рис. 2).

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

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

,

а относительно оси по формуле

,

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

Ориентация

Мы также хотим определить, как расположен объект в поле зрения, т. е. его ориентацию. Сделать это несколько сложнее. Допустим, что объект немного вытянут вдоль некоторой оси; тогда ее ориентацию можно принять за ориентацию объекта. Как точно определить ось, вдоль которой вытянут объект? Обычно выбирают ось минимального второго момента. Она представляет собой двумерный аналог оси наименьшей инерции. Нам необходимо найти прямую, для которой интеграл от квадратов расстояний до точек объекта минимален; этот интеграл имеет вид

,

где — расстояние вдоль перпендикуляра от точки с координатами до искомой прямой.

Иной путь решения проблемы состоит в попытке найти угол поворота , при котором матрица вторых моментов размера 2x2 имеет диагональный вид.

(В пакете Matlab операции определения центра масс, ориентации а также другие морфометрические признаки вычисляются с помощью функции IMFEATURE.)

Проекции

Для вычисления положения и ориентации объекта достаточно знать первые и вторые моменты. (При этом остается двузначность в выборе направления на оси.) Чтобы найти их значения, нет необходимости в исходном изображении: достаточно знать его проекции. Указанный факт представляет интерес, поскольку проекции описываются более компактно и приводят к гораздо более быстрым алгоритмам.

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

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

,

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

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

Кодирование с переменной длиной

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

0

1

1

1

1

0

0

0

1

1

0

0

0

0

Для обозначения начала каждой строки нужно ввести специальный признак. Кроме того, принимается соглашение относительно того, с чего начинается строка (с нуля или единицы). Если строка начинается с противоположного символа, то первым символом кода устанавливается нуль.

Другой подход к обработке изображений описан в книге [2]. Книга [3] содержит сведения о некоторых работах в области обработки бинарных изображений. Много интересных бинарных изображений, полученных художниками, можно найти в книге [4].

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

В системе Matlab также рассматривается один из видов кодирования, который содержится в описании функции BWPACK.

Литература

  1. Хорн Б.К.П. Зрение роботов: Пер. с англ. – М.: Мир, 1989. – 487 с., ил. ISBN 5–03–000570–6.
  2. Rosenfeld A., Kak A.C., Digital Picture Processing, Vols. 1, 2, Second Edition, Academic Press, New York, 1982.
  3. Stoffel J.C. (ed.), Graphical and Binary Image Processing and Applications, Artech House, Inc., Massachusetts, 1982.
  4. Grafton C.B. (ed.), Silhouettes – A Pictorial Archive of Varied Illustrations, Dover Publications, New York, 1979.
  5. Mitchell J.L., Goertzel G., Two–Dimensional Facsimile Coding Scheme, IBM Reserch Report RC 7499, Jan., 1979.

В оглавление книги \ К следующему разделу \ К предыдущему разделу


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры