Professional Documents
Culture Documents
File Tugas_1.m
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = Tugas_1_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
citra = handles.dataCitra;
D0 = 20;
[M, N, O] = size(citra);
%transformasi fourier
F = fft2(double(citra));
%range
u = 0:(M - 1);
v = 0:(N - 1);
idx = find(u > M/2);
u(idx) = u(idx) - M;
idy = find(v > N/2);
v(idy) = v(idy) - N;
[V, U] = meshgrid(v,u);
D = sqrt(U.^2 + V.^2);
% fiter lowpass
H = exp(-(D.^2)./(2*(D0^2)));
% fiter highpass
Hp = 1 - H;
% highpass
Gp = F;
for i = 1:O
Gp(:, :, i) = Hp.*F(:, :, i);
end
%inverse transformasi
g = uint8(real(ifft2(double(G))));
h = uint8(real(ifft2(double(Gp))));
handles.dataCitraLowpass = g;
guidata(hObject,handles);
axes(handles.imgCitraLowpass);
imshow(handles.dataCitraLowpass);
handles.dataCitraHighpass = h;
guidata(hObject,handles);
axes(handles.imgCitraHighpass);
imshow(handles.dataCitraHighpass);