СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Преобразование изображений в области пространственных частот

Категория: Информатика

Нажмите, чтобы узнать подробности

Преобразование изображений в области пространственных частот

Просмотр содержимого документа
«Преобразование изображений в области пространственных частот»

Федеральное государственное автономное образовательное учреждение

высшего образования


«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»

(НИУ «БелГУ»)


Институт инженерных технологий и естественных наук


Кафедра прикладной информатики и информационных технологий






Отчет по лабораторной работе №5

Тема работы: Преобразование изображений в области пространственных частот





студента очного отделения

3 курса 07001504 группы

Богомазова Александра Михайловича


Проверил:

Старший преподаватель

Болгова Евгения Витальевна
















БЕЛГОРОД 2017

Цель работы

Целью лабораторной работы является получение навыков самостоятельной алгоритмической и программной реализации на компьютерной технике методов преобразования изображений в частотной области в MatLab.

Вариант 1


1 цветовая компонента













Fft2


Спектр исходного изображения



Спектр после центрирования


Центрирования спектра



Обнуление части спектра


Обратное преобразования центрирования



Обратное преобразование обнуления


Lpfilter


Hpfilter


Paddedsize




Btw


Histeq



function pushbutton1_Callback(hObject, eventdata, handles)

[fname,pname] = uigetfile('*.*','Enter data file');

global A;

A=imread(fname);

axes(handles.axes1);

set(handles.axes1);

imshow(A,[]);

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

imSize = size(A);

set(handles.edit1,'string', imSize(1));

set(handles.edit2,'string', imSize(2));

set(handles.edit3,'string', imSize(3));

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

global A;

global B;

B=A(:,:,1);

[N1,N2]=size(B);

axes(handles.axes2)

imshow(B, []);

title('Результат преобразования');

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

global A;

global B;

B=fft2(A);

[N1,N2]=size(B);

axes(handles.axes2)

imshow(B, []);

title('Результат преобразования');

% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles)

global A;

global B;

B = fft2(A);

C = abs(B);

figure, mesh(C(1:size(C,1), 1:size(C, 2)));

% --- Executes on button press in pushbutton5.

function pushbutton5_Callback(hObject, eventdata, handles)

global A;

global B;

B=fftshift(log(1+abs(fft2(rgb2gray(A)))));

[N1,N2]=size(B);

axes(handles.axes2)

imshow(B, []);

title('Результат преобразования');

% --- Executes on button press in pushbutton6.

function pushbutton6_Callback(hObject, eventdata, handles)

global A;

B=fftshift(fft2(rgb2gray(A)));

[x, y]=size(B);

B(x/2-5:x/2+5,y/2-5:y/2+5)=0;

b2=ifftshift(B);

b1=fftshift(log(1+abs(b2)));

axes(handles.axes2)

imshow(abs(b1), []);

title('Результат преобразования');

% --- Executes on button press in pushbutton7.

function pushbutton7_Callback(hObject, eventdata, handles)

global A;

B=fftshift(fft2(rgb2gray(A)));

[x, y]=size(B);

B(x/2-5:x/2+5,y/2-5:y/2+5)=0;

b2=ifftshift(B);

B=real(ifft2(b2));

[N1,N2]=size(B);

axes(handles.axes2)

imshow(B, []);

title('Результат преобразования');

% --- Executes on button press in pushbutton8.

function pushbutton8_Callback(hObject, eventdata, handles)


global A;

global B;

B=fft2(rgb2gray(A));

B=fftshift(B);

B=ifft2(B);

[N1,N2]=size(B);

axes(handles.axes2)

imshow(B, []);

title('Результат преобразования');

% --- Executes on button press in pushbutton9.

function pushbutton9_Callback(hObject, eventdata, handles)

global A;

global B;

PQ = paddedsize(size(rgb2gray(A)));

[U, V] = dftuv(PQ(1), PQ(2));

D0 = 0.02 *PQ(2);

F = fft2(rgb2gray(A), PQ(1), PQ(2));

B = exp(-(U.^2 + V.^2)/(2*(D0^2)));

g = dftfilt(rgb2gray(A), B);

[N1,N2]=size(B);

axes(handles.axes2)

imshow(g, []);

title('Результат преобразования');

% --- Executes on button press in pushbutton10.

function pushbutton10_Callback(hObject, eventdata, handles)

global A;

global B;

PQ= paddedsize (size (A));

F= fft2 (rgb2gray(A), PQ(1),PQ(2));

sig=10;

H=lpfilter('gaussian',PQ(1),PQ(2),sig);

G=H.*F;

B=real(ifft2(G));

axes(handles.axes2)

imshow(B,[]);

title('Результат преобразования');

% --- Executes on button press in pushbutton11.

function pushbutton11_Callback(hObject, eventdata, handles)

global A;

global B;

PQ=paddedsize(size(rgb2gray(A)));

D0=0.02*PQ(1);

H=hpfilter('gaussian',PQ(1), PQ(2),D0);

B=dftfilt(rgb2gray(A), H);

axes(handles.axes2)

imshow(B,[]);

title('Результат преобразования');

% --- Executes on button press in pushbutton12.

function pushbutton12_Callback(hObject, eventdata, handles)

global A;

global B;

B = fftshift(log(1+abs(fft2(rgb2gray(A)))));

C = abs(B);

figure, mesh(C(1:size(C,1), 1:size(C, 2)));

% --- Executes on button press in pushbutton13.

function pushbutton13_Callback(hObject, eventdata, handles)

global B;

PQ=paddedsize(size(rgb2gray(A)));

D0=0.02*PQ(1);

H=hpfilter('btw',PQ(1), PQ(2),D0);

B=dftfilt(rgb2gray(A), H);

axes(handles.axes2)

imshow(B,[]);

title('Результат преобразования');

% --- Executes on button press in pushbutton14.

function pushbutton14_Callback(hObject, eventdata, handles)

global A;

global B;

PQ=paddedsize(size(rgb2gray(A)));

D0=0.02*PQ(1);

H=hpfilter('btw',PQ(1), PQ(2),D0);

B=dftfilt(rgb2gray(A), H);

B = histeq(B);

[N1,N2]=size(B);

axes(handles.axes2)

imshow(B, []);

title('Результат преобразования');

figure, imhist(B);


11