You are on page 1of 9

1

Nama

: Dananjaya Ariateja

NIM

: 4115211013

Jurusan

: Teknik Elektro

Pengolahan Citra Digital


Aplikasi Image Enhancement Menggunakan Teknik Point Processing
A. Tampilan Utama

B. Hasil Perenggangan
Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

C. Hasil Histogram

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

D. Hasil Image Subtraction

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

E. Lampiran Program

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

5
function varargout = Citra_Digital(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Citra_Digital_OpeningFcn, ...
'gui_OutputFcn', @Citra_Digital_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function Citra_Digital_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Citra_Digital_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function Open_Callback(hObject, eventdata, handles)
[nama_file1, nama_path1]=uigetfile( ...
{'*.bmp','File bmp (*.bmp)';...
'*.*','Semua File (*.*)'},...
'Buka File Citra Asli');
if isequal([nama_file1,nama_path1],[0,0])
return;
else
citra=imread(fullfile(nama_path1,nama_file1));
handles.citra=citra;
guidata(hObject,handles);
axes(handles.axes1);
imshow(citra);
end;
function Save_Callback(hObject, eventdata, handles)
button = questdlg('Simpan Gambar?',...
'Simpan','Ya','Tidak','Ya');
if strcmp(button,'Tidak')
return;
end
[nama_file2, nama_path2]=uiputfile( ...
{'*.bmp','File bmp (*.bmp)';...
'*.*','Semua File (*.*)'},...
'Simpan File Citra');

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

if isequal([nama_file2,nama_path2],[0,0])
return;
else
imwrite(handles.citra,fullfile(nama_path2,nama_file2));
%citra=imread(fullfile(nama_path1,nama_file1));
guidata(hObject,handles);
axes(handles.axes2);
%imshow(citra);
end;
function Close_Callback(hObject, eventdata, handles)
button = questdlg('Yakin akan Tutup Aplikasi?',...
'Tutup','Ya','Tidak','Ya');
if strcmp(button,'Tidak')
return;
end
delete(handles.figure1);
function Renggangan_Callback(hObject, eventdata, handles)
citra=handles.citra;
set(handles.text2,'String','Citra Asli');
[b,k,s] = size(citra);
if s==1
axes(handles.axes3);
imhist(citra);
set(handles.text4,'String','Histogram Asli');
rata=(sum(sum(citra)))/(b*k);
for i=1:b
for j=1:k
if citra(i,j)< rata
newcitra(i,j)=0;
elseif citra(i,j) > rata
newcitra(i,j)=255;
else
newcitra(i,j)=citra(i,j);
end;
end
end;
axes(handles.axes2);
imshow(newcitra);
set(handles.text3,'String','Citra Baru');
axes(handles.axes4);
imhist(newcitra);
set(handles.text5,'String','Histogram Citra Regangan');
else
R = double(citra(:,:,1));
G = double(citra(:,:,2));
B = double(citra(:,:,3));
[bR,kR] = size(R);
[bG,kG] = size(G);
[bB,kB] = size(B);
rataR = (sum(sum(R))) /(bR*kR);
rataG = (sum(sum(G))) /(bG*kG);
rataB = (sum(sum(B))) /(bB*kB);
for i=1:b

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

7
for j=1:k
if R(i,j) < rataR
newcitraR(i,j)=0;
elseif R(i,j) > rataR
newcitraR(i,j)=255;
else
newcitraR(i,j)= R(i,j);
end;
end
end;
for i=1:b
for j=1:k
if G(i,j) < rataG
newcitraG(i,j)=0;
elseif G(i,j) > rataG
newcitraG(i,j)=255;
else
newcitraG(i,j)= G(i,j);
end;
end
end;
for i=1:b
for j=1:k
if B(i,j) < rataB
newcitraB(i,j)=0;
elseif B(i,j) > rataB
newcitraB(i,j)=255;
else
newcitraB(i,j)= B(i,j);
end;
end
end;
newcitra(:,:,1) = uint8(newcitraR);
newcitra(:,:,2) = uint8(newcitraG);
newcitra(:,:,3) = uint8(newcitraB);
axes(handles.axes2);
imshow(newcitra);
set(handles.text3,'String','Hasil Regangan');
axes(handles.axes3);
imhist(citra);
set(handles.text4,'String','Histogram Citra Asli');
axes(handles.axes4);
imhist(newcitra);
set(handles.text5,'String','Histogram Citra Regangan');
end;
function Histogram_Callback(hObject, eventdata, handles)
citra=handles.citra;
citra=rgb2gray(citra);
newcitra=histeq(citra);
axes(handles.axes1);
imshow(citra);
set(handles.text2,'String','Citra Asli');
axes(handles.axes3);

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

8
imhist(citra);
set(handles.text4,'String','Histogram Citra Asli');
axes(handles.axes2);
imshow(newcitra);
set(handles.text3,'String','Citra baru');
axes(handles.axes4);
imhist(newcitra);
set(handles.text5,'String','Histogram Citra Baru');

function Subtraction_Callback(hObject, eventdata, handles)


citra=(handles.citra);
citra2=(handles.citra2);
[b,k] = size(citra);
[bb,kk] = size(citra2);
for i=1:b
for j=1:k
newcitra(i,j) = double(citra(i,j)) - double(citra2(i,j));
end
end;
axes(handles.axes1);
imshow(citra);
set(handles.text2,'String',' Citra Pertama');
axes(handles.axes2);
imshow(citra2);
set(handles.text3,'String','Citra Kedua');
axes(handles.axes3);
imshow(newcitra);
set(handles.text4,'String','Hasil Citra ');
axes(handles.axes4);
imhist(newcitra);
set(handles.text5,'String','Histogram Hasil Citra ');
function Open2_Callback(hObject, eventdata, handles)
[nama_file1, nama_path1]=uigetfile( ...
{'*.bmp','File bmp (*.bmp)';...
'*.*','Semua File (*.*)'},...
'Buka File Citra Asli');
if isequal([nama_file1,nama_path1],[0,0])
return;
else
citra2=imread(fullfile(nama_path1,nama_file1));
handles.citra2=citra2;
guidata(hObject,handles);
axes(handles.axes2);
imshow(citra2);
end;

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

Dananjaya Ariateja | 4115211013 | Teknik Elektro | UTY | 2014

You might also like