Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 64
Текст из файла (страница 64)
Например, множество всех пнкселов, не принадлежащих множеству А, которое принято обозначать А', задается формулой А" = (ш ~ гп ф А). Это множество называется доылкекием множества А. Обаедикекие двух множеств А н В, которое обозначается С =АОВ, гДекартовым произведением множества Я на себя называется множество всех упорядоченных пар (з„з ), где з, и з — любые целые числа. Его принято обозначать Яз.
9 ! Пр~дваривп <ьвие (вгвевив 3$3Ъ~~ есть по опрсненениьо мнонкеевво всех пикс~лов. ко~орви прннвл;и'квт и1и инр (ч 354 Глаеа 9. Морфологическая обработка изображений 9.1.2. Двоичные изображения, множества и логические операции Язык и теория математической морфологии позволяют взглянуть на двоичные изображения как бы с двух сторон. С одной стороны, двоичное изображение (как часто в этой книге) можно себе представлять в виде функции с двумя возможными значениями координат х и у. Теория морфологии рассматривает двоичное изображение в виде множества его пнкселов переднего плана (со значениями 1), которое лежит в пространстве о~. Введенные выше операции над множествами типа объединение и пересечение можно напрямую применять к двоичным изображениям. Например, если А и  — двоичные изображения, то С = А О В— также двоичное изображение, причем пикселы на изображении С являются пикселами переднего плана, если соответствующие пикселы на А, на В или на обоих этих изображениях принадлежат переднему плану.
При первом, функциональном подходе, изображение С задается формулой 1 1,если А(х, у) = 1, или В(х, у) = 1, или оба равны 1; ~ О в противном случае. А, с точки зрения теории множеств, изображение С определяется выражением С = ((х, у) ~ (х, у) е А, или (х, у) е В, или (х, у) е (А и В)).
Операции над множествами, приведенные на рис. 9.1, можно совершать над деоичнвсми изображениями с помощью следующих логических операций МАТВАВ: ОВ. (~) (логическое сложение), АМП (3с) (логическое умножение) и НОТ ( ) (отрицание), как показано в табл. 9.1. таблица В.Ь Использование логических операций МАТЬАВ для совершения операций над двоичными изображениями В качестве простой иллюстрации рассмотрим рис. 9.3, на котором показаны результаты применения ряда логических операций к двум двоичным изображениям элементов текста.
(Мы следуем правилу 1РТ, по которому пикселы переднего плана (со значением 1) отображаются белым цветом.) Изображение на рис. 9.3, г) является объединением изображений «11ТК» и «СТ»; на нем присутствуют пикселы переднего плана обоих изображений. Наоборот, пересечение этих двух изображений, показанное на рис. 9.3, д), состоит из пикселов, которые принадлежат перекрытию букв «ПТК» и «СТм Наконец, разность изображений, приведенная на рис.
9.3, е), показывает части букв «ПТК», из которых удалены пикселы букв «СТ». (3Б6 г г. иге б б бг е ответствующий элемент перекрывает некоторые пикселы переднего плана изображения (со значением 1). Полученное изображение показано на рис. 9А, г), на котором значения 1 присвоены тем пикселам, которые соответствуют положениям центра структурообразующих элементов, перекрывающих пикселы переднего плана исходного изображения. 6) Структурообразующие элементы, перенесенные а эти положении, не перекрывают ни одного единичного пиксела исходного иэображения.
сносе центра элемента ции "ц", он перекрывает ные пикселы исходного аления Дилатацию можно строго определить математически в терминах операций над множествами. Дилатация множества А по множеству В (или относительно множества В) обозначается А йт В и определяется по формуле А Ю В = (д ~ (В), П А ф о), ЙЙП ЙПП 000 000 О О О ПОП 000 000 000 000 000 ООП О ПО е) ЙПП ПОЙ О О О П ПО ПОО ЙПЙ ПОП О 0 П ПОЙ ПОП 000 ПОП О О П 0000000000 0000000000 ОППОПОПООО ОПОООООООО 0000000000 1111100000 11!!100000 11!!100000 ОПООППОООП 0000000000 ОООПОООПОО 0000000000 0000000000 ОООО ОООЙ ЙППП ОООО ОООО 0011 001! 0011 ОООО ОООО 0000 ОООО 0000 ЙООППО ПОП О ОООЙ ОППЙПО 0000000000 11111!!ОЙО 11111!!ПОЙ 1111111000 !!111!ПОПО 1 1! 1 1 0 0 О О П 1 1 1! О П 0 0 П 0 1110000000 0000000000 ПОЙПОЙОЙЙП ПООЙОЙОПЙО ОООО ОООЙ ОООО ЙЙОП 0 Й О! 00 1 1 0 1 1! 1111 1111 1111 ОООО ОООО ОООО Рис.
9.4. Иллюстрация применения дилатации. а) Исходное изображение с прямоугольником. 6) Структурообразующий элнаент из пяти пикселоа по диагонали. Его центр Ш обведен ива<О(агином. е) Струк- 1 турообразующий элемент разнесен по нескольким положениям на изображении, г) Об. работанное иэображение йи. л ЗД о) 1 11 ~~~К~~ 1 Пример 9.1. Простое применение далатации. В пакете 1РТ операция дилатации реализуется функцией 1ш611аее, Ее основная форма вызова имеет вид А2 = 1ш611асе(А, В), где А и А2 -- это двоичные изображения, а  —.
матрица из нулей и единиц, которая обозначает структурообразующий элемент. На рис. 9.6, а) дан пример двоичного изображения, которое содержит текст с разорванными буквами. Мы хотим при- менить дилатацию к этому изображению со структурообразующим элементом О 1 О 1Д~1. О 1 О Следующая последовательность команд считывает изображение из файла, стро- ит матрицу структурообразующего элемента, совершает дилатацию и показывает результат. » А = 1шгеаб(эЬгокеп Сене.С11'); » В = (О 1 0; 1 1 1; 0 1 О); » А2 = 1шб11асе(А, В); » 1швйон(А2) На рис. 9.6, б) показано обработанное изображение.
П где ю обозначает пустое множество, а  — это структурообразующий элемент. Другими словами, дилатация А относительно В является множеством, которое состоит из всех положений центров структурообразующего элемента, ко- б) тарый, будучи центрально отраженным и сдвинутым, имеет частичное 1 перекрытие с множеством А. Заме- ~~К~~~ тим, что процесс сдвига структуро- 11 образующего элемента похож на ме- 1 ханизм построения свертки, обсуждаВШИИСя В ГЛаВЕ 3. На рне. 9А НЕ рис. й.б.
Центральное отражение структурообвидно действие центрального отра- раэующего элемента. о) Несимметричный структурообраэующий элемент. б) Структурообраэужения элемента В, так как сам он ющий элемент, отраженный относительно своего центрально-симметричен. На рис. 9.5 центра изображен нецентрально-симметричный структурообразующий элемент и его центральное отражение. Операция дилатации является коммутатиеной, т. е.
А со В =- В Ю А. Однако бывает удобно помещать на место первого операнда изображение, а на место второго — структурообразующий элемент, который, обычно, существенно меньше обрабатываемого изображения. Мы будем так их располагать и в дальнейшем. некоторому изображению применить дилатацию по элементу-строке, а затем — по элементу-столбцу, то вся процедура будет работать в 2.5 раза быстрее, чем дилатация по целому массиву 5 х 5. На практике ускорение вычислений будет несколько меньшим, поскольку имеются некоторые дополнительные операции, которые необходимо выполнять при каждой дилатации, а при использовании декомпозиции (разложения) требуется по крайней мере две дилатации.
Однако выигрыш по скорости при использовании этого приема все равно остается значительным. 9.2.3. Функция ЯСге1 В пакете 1РТ имеется функция всге1, которая строит структурообразующие эле- менты различных форм и размеров. Ее синтаксис имеет вид ве = всте1(вЬаре, рагашесегв), где вЬаре это строка, обозначающая желаемую форму структурообразующего элемента, а рагашеСегв задают список параметров, которые уточняют информацию о его форме, например, определяют его размер. Так, команда веге1( 'с(1ашопй', 6) строит структурообразующий элемент в форме ромба, который занимает +5 пикселов по горизонтали н вертикали. В табл.
9.2 перечислены различные формы, которые может строить функция всге1. Кроме того, для упрощения построения некоторых стандартных структурообразующих элементов в функции всге1 предусмотрена возможность разложения элементов там, где это допустимо. Функция 1шйе1асе автоматически использует информацию о разложении для ускорения процесса дилатации. В следующем примере иллюстрируется выдача функцией вСге1 информации, связанной с разложением структурообразующего элемента. Пример 9.2. Иллюстрация разложения структурообразующего элементпа с помощью функции зсге1. Рассмотрим еще раз процедуру построения структурообразующего элемента в форме ромба с помощью всге1: » ее = всге1('61ешопй', Б) ве = г1аС ЯТЕЕЬ оЬ)есС сопса1вупЕ 61 пе1ЕЬЬогв. Оесошрое1С1оп: 4 ЯТЕЕЬ оЬ)есСе сопса1п1пн а Соеа1 о1 17 пе(ЯЬЬогв Ме1ЕЬЬогЬоон: О О О О О 1 О О О О О О О О О 1 1 1 О О О О О О О 1 1 1 1 1 О О О О О 1 1 1 1 1 1 1 О О О 1 1 1 1 1 1 1 1 1 О 1 1 1 1 1 1 1 1 1 1 1 О 1 1 1 1 1 1 1 1 1 О О О 1 1 1 1 1 1 1 О О О О О 1 1 1 1 1 О 0 О О О О О 1 1 1 О О О О О О О О О 1 О О О О О (360 г «.«М б ь е Таблица 9.2.
Различные синтаксические формы функции всге1. (Слово плоские означает, что структурообразующий элемент имеет нулевую высоту. Эта величина осмыслена только для дилатации и эрозии полутоновых изображений. См. Ч 9.б.1.) Синтаксическая форма Описание ве всге1('61ааол6'. Н) Строит плоский структурообразующий элемент в форме ромба, где Н обозначает расстояние от центра структурсюбрэзующего элемента до крайней точки ромба. Строит плоский структурообразующий элемент в форме круга с радиусом Н. (Имеются дополнительные параметры, которые описаны в справке по всге1).
Строит плоский, линейный элемент, где ЬЕМ обозначает его длину, а ОЕС вЂ” угол (в гралусэх) наклона линии, измеренный против часовой стрелки от горизонтальной оси. Строит плоский, шестиугольный элемент, где Нобозначэет расстояние от центра элемента до стороны шестиугольника, измеренное вдоль горизонтальной или вертикальной оси.