Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 45
Текст из файла (страница 45)
Все используемые частные производные вычисляются функцией со1огйгад с помощью операторов Собела. Выходы ЧС и РРС нормированы в интервале (О, Ц, и, кроме того, функция со1огягад осуществляет срезание больших значений ЧС в соответствии с пороговым значением Т: ЧС(х, у) = 0 там, где вычисленное значение больше Т. Эти же действия выполняются для выхода РРС. Пример 6.10. Обнарузкение контуров на цветных изображениях с нолчощью функции со1огйгай. На рис. 6.24 (стр. 234) с а) по в) приведены три простых монохромных изображения, которые при использовании их в качестве ВСВ плоскостей дадут цветное изображение, показанное на рис.
6.24, г). Целями этого примера являются: (Ц демонстрация функции со1огягад, (2) иллюстрация того факта, что вычисление градиента цветного изображения путем сложения градиентов отдельных цветовых плоскостей отличается от результата нахождения градиента непосредственно в цветовом векторном пространстве В.СВ с помощью описанного вьппе метода. Пусть | обозначает ВСВ изображение на рис. 6.24, г).
Команда » 1ЧС, А, РРС) = со1огйгас1(Т); строит изображения ЧС и РРС, которые приведены на рис. 6.24, д) и е). Самое главное различие между этими двумя результатами заключается в том, что горизонтальный контур на рис. 6.24, е) существенно слабее соответствующего контура на рис. 6.24, д). Причина очень проста: градиенты красной (В) и зеленой (С) плоскостей (рис. 6.24, а) и б)) дают два вертикальных контура, а из градиента синей плоскости выявляется всего один горизонтальный контур. При сложении этих трех градиентов получается, что вертикальный контур имеет в два раза большую интенсивность, чем горизонтальный. С другой стороны, при вычислении градиента цветного изображения непосредственно в векторном пространстве (рис.
6.24, д)) отношение значений на вертикальном и горизонтальном краях равно ъ'2, а не 2. Причина опять проста: при обращении к цветовому кубу на рис. 6.2, а) и к рис. 6.24, г) видно, что вертикальный контур на цветном изображении расположен между синим и белым квадратами, а также между черным и желтым. Расстояние между этими цветами на цветовом кубе равно ч'2, а расстояние между черным и синим, а также между желтым и белым (горизонтальный контур) равно 1. Поэтому отношение вертикального и горизонтального контура равно /2.
Если в конкретном приложении важное значение имеет точность обнаружения контуров, особенно при использовании срезающих порогов, то разница между результатами этих двух подходов может быть неприемлемо болыпой. Например, если использовать порог 0.6, то горизонтальная линия на рис. 6.24, е) просто исчезнет. ~(~2$0 Глана б.
Обработка цеетньст пзобрашсенпй На практике, если задача заключается в грубом определении контуров, то оба подхода дают вполне сравнимые результаты. Например, рис. 6.25, б) и е) (стр. 234) аналогичны рнс. 6.24, д) и е). Они получены применением функции со1огйгаб к изображению 6.25, а). На рис. 6.25, г) приведена разность этих двух изображений, приведенная к шкале [О, Ц. Максимальное значение модуля разности изображений равно 0.2, что соответствует 51 уровню градации серого цвета на обычных 8-ми битовых изображениях. Однако при визуальном оценивании эти два изображения выглядят весьма близкими, и лишь в некоторых местах изображение на рис.
6.23, б) кажется более ярким (по причинам, разъясненным в предыдущих абзацах). Значит, для грубого и субъективного анализа вполне годится более простой метод вычисления градиента, основанный на сложении градиентов отдельных плоскостей. В других случаях (например, при автоматическом контроле расхождения цветов после окраски промышленной продукции) может понадобиться более аккуратный векторный метод исследования. сз 6.6.2. Сегментация в векторном пространстве КСВ Сегментацией называется процесс разделения изображения на области.
Несмотря на то, что этой теме посвящена гл. 10, мы кратко рассмотрим в этом параграфе цветовую сегментацию, чтобы не прерывать логику изложения. У читателя не должно возникнуть сложностей при ознакомлении с этим материалом. Цветовая сегментация в векторном пространстве кСВ заключается в следующем, Предположим, что наша цель состоит в выделении объектов на изображении НОВ, цвет которых лежит в определенном диапазоне. Имея некоторую репрезентативную выборку векторов, имеющих интересующий нас цвет, мы получаем оценку «среднего» цвета, который необходимо выделить.
Пусть этот средний цвет обозначен КСВ вектором-столбцом вь Задача сегментации состоит в том, чтобы классифицировать каждый КСВ пиксел изображения н определить, принадлежит он выделенному «среднему» цветовому классу или нет. Чтобы выполнять такое сопоставление, необходимо иметь некоторую меру сходства цветов. Простейшей такой мерой может служить евклидово расстояние.
Пусть я — произвольная точка пространства ВСВ. Мы скажем, что точка х схожа по цвету с тп, если расстояние между этими точками не превосходит некоторого порогового значения Т. Евклидово расстояние между я и тп вычисляется по формулет Р(я, пт) = !!я — тп)/ = ((я — пт) (я — пт)]'~ = ((гл — тпп)'+ (го — тпа)'+ (гн — тпв)')' ', где й' Ц обозначает норму аргумента, а нижние индексы В, С и В используются для обозначения НСВ компонентов векторов я и пт.
Геометрическое место точек, для которых Р(х, гп) ( Т является шаром радиуса Т, который изображен на рис. 6.26, а) (стр. 235). По определению, точки, лежащие внутри шара или на его сферической поверхности, удовлетворяют заданному цветовому критерию, Следуя общепринятым правилам, мы используем верхний индекс Т для обозначения операции транспонирования матриц и векторов, а вне индексных полей буква Т обозначает пороговую величину. При некоторой аккуратности такое совмещение обозначений не должно приводить к ошибкам. !.б. О~ ь лса ы! й' а точки, лежащие вне этого шара и его граничной сферы — не удовлетворяют.
Если присваивать двум соответствующим множествам изображения значения, скажем, 1 (белое) и 0 (черное), то получится двоичное изображение, которое является результатом сегментации изображения. Полезным обобщением евклидова расстояния является расстояние, задаваемое выражением где С вЂ” это ковариационная матрицаг репрезентативной выборки векторов по отношению к цвету, который необходимо сегментировать. Это расстояние принято называть расстоянием Махаланобисаз.
Геометрическое место точек, для которых су(я, гп) < Т представляет собой трехмерный эллипсоид (см. рис. 6.26, б), который имеет следующее важное свойство: направления его главных осей совпадают с направлениями наиболыпего разброса данных выборки. Если ковариационная матрица С является единичной, то расстояние Махаланобиса совпадает с обычным евклидовым расстоянием. Процедура сегментации делается так же, как описано в предыдущем абзаце, только данные теперь окружаются не шаром, а эллипсоидом. Сегментация по описанным выше правилам реализована в 1РТ функцией со1огвея (см.
ее код в приложении В), которая имеет синтаксис Я = со1огвея(шесаоб, Х, Т, рахашесегв), где шевцов — это или !епс116еап!, или !шаЬа1апоЫв!, Х вЂ” разделяемое КСВ изображение, а Т вЂ” пороговое значение, о котором говорилось выше. Входные параметры — это либо вектор ш, если шетЬоб = !епс1Ыеап!, либо ш и С, если шеспоб = !шаца1апоЫв '. Здесь ш — это в точности вектор тп, введенный выше, который может быть вектором-строкой или вектором-столбцом, а С обозначает ковариационную матрицу 3хЗ.
Выходом функции служит двоичное изображение Я, размеры которого совпадают с размерами исходного изображения. В изображении Я нули стоят там, где пороговый критерий нарушается, а единицы — на тех местах, где этот критерий выполняется. Единицы определяют область, сегментированную по заданному цветовому признаку. Пример 6.11. Сегментация цеетпого ВСВ изобраокения. На рис.
6.2Т, а) (стр. 235) приведено псевдоцветное изображение некоторой области на поверхности спутника Юпитера Ио. На этом изображении красноватые цвета выдают новые геологические образования, исторгнутые из недр действующего вулкана, которые окружены более древними осадочными сульфидными породами. В этом примере иллюстрируется выделение красноватой области с помощью обоих методов, заложенных в функцию со1огвея.
Сначала необходимо получить репрезентативную выборку диапазона цветов, по которым мы будем делать сегментацию. Простой способ выделения интересующей области К01 (Вея1оп 01 1пСегевг) заключается в использовании функ- Вычисление ковариационной матрицы по заданному множеству векторов детально рассматривается в 1 11ех зВ 1 12.2 рессматривакпся аффективные методы вычисления расстояний Евклида и Махаланобисе. 'ь«б« б б.
Об б б ции гойро1у, которая вводилась в я 5.2.4. Эта функция выдает двоичную мас- ку многоугольной области, вершины которой выбираются в интерактивном ре- жиме. Пусть 1 обозначает цветное изображение на рис. 6.27, а), а область на рис. 6.27, б) была построена с помощью следующих команд: » шавК = гойро1у(Х); Х Яе1есс ге61оп 1псегасс1не1у. » геб = 1шпш1С1р1у(шавй, 1(:, :, 1)); » Ягееп = 1шпш111р1у(шавй, 1(:, :, 2)); » Ь[ие = 1шпш1с1р1у(шавй, 1(:, :, 3)); » Я = сас(3, гегг, Ягееп, Ь1це); » 118пге, 1швЬоя(Я), где шавК вЂ” это двоичное изображение (с теми же размерами, что и у Х), в котором нули стоят на месте фона, а единицы соответствуют области, выбранной интерактивно.