Логотип StingRay

Социальные сети
FacebookInstagramRSSTwitterYouTubeВ контактеОдноклассники
FacebookInstagramRSSTwitterYouTubeВ контактеОдноклассники
Силуэт человека

Курсовая работа по обработке изображений

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

Методы выделения границ Выделение границ

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

Внимание! Все методы выделения границ работают с яркостью точки, то есть со значением, полученным из значений трёх цветовых каналов по известной формуле (см. выше). Однако для этого вовсе необязательно предварительно преобразовывать всё изображение к оттенкам серого, достаточно лишь получать значение яркости в тот момент и для той точки, с которой идёт работа, а полученное в результате преобразований значение повторять по трём каналам. И ещё: нельзя забывать о необходимости коррекции результата (0..255).

Метод Кирша

Работает с двумерной апертурой 3х3 следующего вида:

A0 A1 A2
A7 F A3
A6 A5 A4
   Si = Ai + Ai(+)1 + Ai(+)2

Ti = Ai(+)3 + Ai(+)4 + Ai(+)5 + Ai(+)6 + Ai(+)7

Сначала в цикле находятся все значения переменных Si и Ti, где i изменяется от 0 до 7, по приведённым выше формулам, в которых «(+)» означает сложение по модулю 8, для которого может быть использована следующая функция:

function AddMod8 (X, Y: Integer): Integer;
  var Sum: Integer;
  begin
    Sum := X + Y;
    if Sum > 7 then Sum := Sum – 8;
    Result := Sum;
  end;

После находятся значения модуля разности | 5*Si – 3*Ti | для каждого i от 0 до 7 и значение максимума среди этих модулей:

Формула метода Кирша

Возможно, для обеспечения наблюдаемости потребуется повышение порога яркости сложением эдак с числом 100. Окончательное значение F' заносится в элемент F, после чего рабочее окно сдвигается на один элемент вправо (далее – слева направо и сверху вниз).

Метод Лапласа

Осуществляет домножение каждого элемента двумерной апертуры 3х3 на соответствующий элемент так называемой матрицы Лапласа:

A B C
D E F
G H I
 
x
x
x
 
-1 -2 -1
-2 12 -2
-1 -2 -1
  =  
-1*A -2*B -1*C
-2*D 12*E -2*F
-1*G -2*H -1*I

Внимание! Здесь речь идёт именно о простом умножении каждого элемента исходной матрицы на соответствующий элемент матрицы коэффициентов, и это не надо путать с перемножением матриц.

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

Существуют и другие матрицы Лапласа:

0 -1 0
-1 4 -1
0 -1 0
1 1 1
1 -2 1
-1 -1 -1
-1 1 1
-1 -2 1
-1 1 1
1 1 1
-1 -2 1
-1 -1 1
  и так далее…

Метод Робертса

Как показывает практика, является самым простым, самым быстрым и эффективным (поистине, всё гениальное – просто). Работает он с двумерной апертурой 2х2 следующего вида:

A C
B D
   Формула метода Робертса

Здесь вторая форма записи (с квадратным корнем) работает медленнее, но точнее. Возможно, для обеспечения наблюдаемости потребуется повышение порога яркости сложением эдак с числом 100. Окончательное значение A' заносится в элемент A, после чего рабочее окно сдвигается на один элемент вправо (далее – слева направо и сверху вниз).

Метод Собела

Работает с двумерной апертурой 3х3 следующего вида:

A1 A2 A3
A8 F A4
A7 A6 A5
   X = ( A3 + 2 * A4 + A5 ) – ( A1 + 2 * A8 + A7 )

Y = ( A1 + 2 * A2 + A3 ) – ( A7 + 2 * A6 + A5 )

Сначала находятся значения переменных X и Y по приведённым выше формулам. После находится новое значение центрального элемента:

Формула метода Собела

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

Метод Уоллеса

Работает с двумерной апертурой 3х3 следующего вида:

A0 A1 A2
A7 F A3
A6 A5 A4
   Формула метода Уоллеса

Сразу находится новое значение центрального элемента по приведённой выше формуле; при этом, если знаменатель (Ai с нечётными значениями i) равен нулю, то к нему и к числителю добавляется единица (проще добавлять эту единицу всегда). Возможно, для обеспечения наблюдаемости потребуется домножение результата на очень большое число (эдак на 500) и повышение порога яркости сложением эдак с числом 100. Окончательное значение F' помещается вместо элемента F, после чего рабочее окно сдвигается на один элемент вправо (далее – слева направо и сверху вниз).

Статистический метод

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

Среднее значение

Далее вычисляется значение среднеквадратичного отклонения значений элементов рабочего окна от среднеарифметического значения:

Отклонение значения

Затем значения всех элементов рабочего окна домножаются на полученное отклонение:

Новое значение

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

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

Добавьте свой комментарий или войдите, чтобы подписаться/отписаться.
OpenId
Предпросмотр
Улыбка Подмигивание Дразнит Оскал Смех Огорчение Сильное огорчение Шок Сумасшествие Равнодушие Молчание Крутизна Злость Бешенство Смущение Сожаление Влюблённость Ангел Демон Задумчивость Рука-лицо Не могу смотреть Жирный Курсив Подчёркивание Зачёркивание Размер шрифта Гиперссылка Цитата
Загрузка…