Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR3_OOI.doc
Скачиваний:
0
Добавлен:
09.02.2020
Размер:
3.29 Mб
Скачать

Imshow(s, [ ]).

Пример:

clear;

close all;

f = imread('cameraman.tif');

Imshow(f);

title('Изображение');

F = fft2(f);

S=abs(F);

Slog=log(1+S);

figure

Imshow(Slog, [ ]);

title('Спектр изображения');

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

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

Пример:

f = imread('cameraman.tif');

Imshow(f);

title('Изображение');

F = fft2(f);

S=abs(F);

Fc= fftshift(S);

Slog=log(1+Fc);

figure

Imshow(Slog, [ ]);

title('Спектр изображения');

В таком виде спектр изображения гораздо более нагляден. В частности – яркая точка в центре спектра (на нулевой частоте) – это постоянная составляющая, или средняя яркость изображения.

Вернуть спектр к первоначальному виду (с нумерацией от нулевой точки в верхнем левом углу) можно с помощью команды F = ifftshift(Fc).

Восстановление изображения по его спектру.

Восстановление изображения по его спектру производится с использованием функции обратного двумерного БПФ (ОБПФ)

f = ifft2(F).

Обратите внимание на то, что операцию ОБПФ нужно применять именно к спектру изображения, а не к его модулю!!!

Пример:

f = imread('moon.tif');

Imshow(f);

title('Изображение');

F = fft2(f);

Fc = fftshift(F);

Fdc = ifftshift(Fc);

If = ifft2(Fdc); figure

Imshow(If, [ ]);

title('Изображение после ДПФ - ОДПФ');

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

Дискретизация изображений.

Совершенно естественным является вопрос - можно ли так, как это делается для сигналов (функций одной переменной), производить дискретизацию многомерных сигналов (функций нескольких переменных)?

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

функция двух переменных λ(x,y), двумерное преобразование Фурье которой

равно нулю при fx ≥ fx max и fy ≥ fy max, однозначно определяется своими значениями в равноотстоящих точках плоскости x и y, если интервал дискретизации удовлетворяет условию Δx ≤ 1/2fx max , Δy ≤ 1/2fy .

Процедура дискретизации двумерной функции иллюстрируется примером, приведенным на следующем рисунке:

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

Спектр дискретизованной двумерной функции FF{λ(ix,jy)} получается периодическим продолжением спектра исходной непрерывной функции λ (x,y) в точки частотной плоскости (k fx ,l fy).

Здесь fx и fy  так называемые "пространственные частоты", являющиеся аналогами обычной "временной" частоты и отражающие скорость изменения двумерной функции λ(x,y) по соответствующим координатам.

Рис. 1.15

Аналитически это можно записать следующим образом:

Из приведенного выше рисунка видно, что если соблюдается условие неперекрываемости периодических продолжений спектра FF{λ(ix,jy)}, то с помощью идеального двумерного ФНЧ с частотной характеристикой вида

из спектра дискретизованного изображения FF{λ(ix,jy)} можно выделить только одну (центральную) составляющую, которая совпадает со спектром исходного непрерывного изображения FF{λ(x,y)}.

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

Частотная характеристика двумерного фильтра.

Частотная характеристика (АЧХ) линейного фильтра, как известно, является преобразованием Фурье от его ИПХ. Точно так же, частотная характеристика двумерного фильтра, является двумерным преобразованием Фурье от его ИПХ двумерного фильтра (окна фильтра).

В качестве примера рассмотрим двумерный фильтр нижних частот (ФНЧ) с гауссовой формой окна фильтра, и параметрами:

h = fspecial('gaussian', [256 256], sigma);

Пример:

clear;

close all;

sigma = 1;

h = fspecial('gaussian', [256 256], sigma);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]