Таблица 17.2.1.

Основные весовые функции

Временное окно

Весовая функция

Фурье-образ

Естественное (П)

П(t) = 1, |t|£t; П(t) = 0, |t|>t

П(w) = 2t sinc[wt]

Бартлетта (D)

b(t) = 1-|t|/t

B(w) = t sinc2(wt/2).

Хеннинга, Ганна

p(t) = 0.5[1+cos(pt/t)]

0.5П(w)+0.25П(w+p/t)+0.25П(w-p/t)

Хемминга

p(t) = 0.54+0.46 cos(pt/t)

0.54П(w)+0.23П(w+p/t)+0.23П(w-p/t)

Карре (2-е окно)

p(t) = b(t) sinc(pt/t)

t·B(w)*П(w), П(w) = 1 при |w|<p/t

Лапласа-Гаусса

p(t) = exp[-b2(t/t)2/2]

[(t/b) exp(-t2w2/(2b2))] ③ П(w)

Двумерные аналоги одномерных фильтров f1(x) строятся в двух вариантах симметрии: или как функция от радиуса:

f2(x, y) = f1(),

или как произведение:

f2(x, y) = f1(x) × f1(y).

Первый вариант - более корректный, но второй обладает свойством сепарабельности, т. е. двумерную свертку можно выполнять двумя одномерными свертками последовательно по строкам с f1(x) и по столбцам с f1(y).

Передискретизация изображения или ресамплинг (resampling) – это изменение частоты дискретизации цифрового сигнала. Применительно к цифровым изображениям это означает изменение размеров изображения.

Существуют различные алгоритмы ресамплинга изображений. Например, для увеличения изображения в 2 раза методом билинейной интерполяции (bilinear interpolation) промежуточные столбцы и строки получают линейной интерполяцией значений соседних столбцов и строк. Можно каждую точку нового изображения получить как взвешенную сумму большего числа точек исходного изображения (бикубическая и другие виды интерполяции). Наиболее качественный ресамплинг получается при использовании алгоритмов, учитывающих не только временную, но и частотную область сигнала.

НЕ нашли? Не то? Что вы ищете?

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

17.2.4.jpg

Рис. 17.2.4.

Допустим, мы имеем одномерный сигнал (рис. 17.2.4), заданный на интервале 0-Т и дискретизированный с шагом Dt=1 (N интервалов). Нужно «растянуть» сигнал в m раз. Спектр сигнала, показанный на рисунке, вычисляется быстрым преобразованием Фурье (БПФ, количество отсчетов спектра равно количеству отсчетов сигнала) и приводится в главном диапазоне БПФ (0-2p, частота Найквиста wN = p/Dt = p, или 0.5N по нумерации отсчетов спектра при шаге по спектру Df = 1/T или Dw = 2p/T). Для выполнения растяжения необходимо выполнить 2 шага.

17.2.5.jpg

Рис. 17.2.5.

Первый шаг – интерполяция нулями, увеличивающая длину сигнала в m раз. (рис. 17.2.5). Нужно умножить все отсчеты исходного сигнала на m, а потом после каждого отсчета сигнала вставить m-1 нулевое значение. На интервале 0-Т, значение которого остается без изменения, теперь располагается в m-раз больше интервалов дискретизации (mN), и новый шаг дискретизации будет равен Dx=Dt/m. Соответственно, новая частота Найквиста для этого сигнала равна mp/Dt = mp. Но физическая величина шага по спектру в единицах частоты обратна физической величине интервала задания сигнала (Df=1/T), и, следовательно, БПФ по mN точкам сигнала вычислит mN точек спектра в главном диапазоне БПФ 0-2pm с шагом спектра исходного сигнала, в котором будут присутствовать m-периодов спектра исходного сигнала (один главный и m-1 боковых).

17.2.6.jpg

Рис. 17.2.6.

Второй шаг – отфильтровывание боковых диапазонов спектра с помощью НЧ-фильтра или во временной, или в спектральной области. На рис. 17.2.6 выполнены очистка спектра и обратное преобразование Фурье, в результате чего получен сигнал в m раз длиннее исходного с полным сохранением всей частотной информации.

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

При выполнении ресамплинга только во временной области алгоритмы растяжения и сжатия объединяют, как правило, в единый последовательный процесс с заданием изменения шага дискретизации в виде отношения m/n, что позволяет задавать целые значения m и n при дробных значениях изменения шага дискретизации. Это существенно упрощает алгоритмы и повышает эффективность и качество их работы. Так например, при растяжении сигнала в 1.5 раза при m/n = 3/2 сигнал сначала растягивается в 3 раза (простое и равномерное дополнение нулями всех отсчетов, затем выполняется НЧ-фильтрация, после чего сигнал прореживается в два раза. Антиалиасингового фильтра не требуется, т. к. частота его среза перекрывается частотой первого НЧ-фильтра. При обратной операции сжатия (например, m/n = 2/3), аналогично используется только антиалиасинговый фильтр.

17.3. фильтрация изображений [49, 1i]

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

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

Линейные фильтры имеют очень простое математическое описание. Будем считать, что задано исходное полутоновое изображение A, и обозначим интенсивности его пикселей A(x, y). Линейный фильтр определяется вещественнозначной функцией h (ядром фильтра), заданной на растре. Сама фильтрация производится при помощи операции дискретной свертки (взвешенного суммирования):

B(x, y) = h(i, j) ③③A(x, y) = h(i, j) A(x-i, y-j). (17.3.1)

Результатом служит изображение B. Обычно ядро фильтра отлично от нуля только в некоторой окрестности N точки (0, 0). За пределами этой окрестности h(i, j) равно нулю, или очень близко к нему и им можно пренебречь. Суммирование производится по (i, j) Î N, и значение каждого пикселя B(x, y) определяется пикселями изображения A, которые лежат в окне N, центрированном в точке (x, y) (обозначение - множество N(x, y)). Ядро фильтра, заданное на прямоугольной окрестности N, может рассматриваться как матрица m на n, где длины сторон являются нечетными числами. При задании ядра матрицей ее следует центрировать. Если пиксель (x, y) находится в окрестности краев изображения, то координаты A(x-i, y-j) для определенных (i, j) могут соответствовать несуществующим пикселям A за пределами изображения. Данную проблему можно разрешить несколькими способами.

- Не проводить фильтрацию для таких пикселей, обрезав изображение B по краям, или применив для их значений исходные значения изображения А.

- Не включать отсутствующий пиксель в суммирование, распределив его вес h(i, j) равномерно среди других пикселей окрестности N(x, y).

- Доопределить значения пикселей за границами изображения при помощи экстраполяции.

- Доопределить значения пикселей за границами изображения, при помощи зеркального продолжения изображения.

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

Сглаживающие фильтры. Простейший прямоугольный сглаживающий фильтр радиуса r задается при помощи матрицы размера (2r+1) × (2r+1), все значения которой равны 1/(2r+1)2, а сумма значений равна единице. Это двумерный аналог низкочастотного одномерного П-образного фильтра скользящего среднего. При фильтрации с таким ядром значение пикселя заменяется усредненным значением пикселей в квадрате со стороной 2r+1 вокруг него. Пример маски фильтра 3× 3:

.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5