Pengolahan Citra
Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan
citra berkutat pada usaha untuk melakukan transformasi suatu citra/gambar
menjadi citra lain dengan menggunakan teknik tertentu. Pengolahan citra
merupakan bidang yang bersifat multidisiplin, yang terdiri dari banyak aspek,
antara lain fisika, elektronika, matematika, seni dan teknologi komputer.
Pengolahan citra (image processing) memiliki hubungan yang sangat erat dengan
disiplin ilmu yang lain. jika sebuah ilmu disiplin ilmu dinyatakan dengan
bentuk proses suatu input menjadi output, maka pengolahan citra memiliki input
berupa citra serta output juga berupa citra.
Pengolahan citra adalah istilah umum untuk berbagai teknik yang
keberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara.
Foto adalah contoh gambar berdimensi dua yang bisa diolah dengan mudah.Setiap
foto dalam bentuk citra digital (misalnya berasal dari kamera digital) dapat
diolah melalui perangkat-lunak tertentu. Pengolahan citra merupakan bagian
penting yang mendasari berbagai aplikasi nyata, seperti pengenalan pola,
penginderaan jarak-jauh melalui satelit atau pesawat udara, dan machine vision.
Berikut prinsip dasar dalam pengolahan citra:
1. Peningkatan kecerahan dan kontras
Citra yang diproses seringkali dalam keadaan terdistorsi atau mengandung
derau, untuk kepentingan tertentu derau tersebut perlu dibersihkan terlebih
dahulu. Dalam pengolahan citra metode yang dapat dipakai untuk keperluan
tersebut salah satunya cara yang dilaksanakan melalui filter notch.
2. Penghilangan derau
Untuk kepentingan mengenali suatu objek di dalam citra, objek perlu
dipisahkan terlebih dahulu dari latar belakangnya. Salah satu pendekatan yang
umum dipakai untuk keperluan ini adalah penemuan batas objek. Dalam hal ini
batas objek berupa bagian tepi objek. Setelah tepi objek diketahui pencarian
ciri terhadap objek dapat dilaksanakan.
3. Pencarian bentuk objek
Untuk kepentingan mengenali suatu objek di dalam citra, objek perlu
dipisahkan terlebih dahulu dari latar belakangnya. Salah satu pendekatan yang
umum dipakai untuk keperluan ini adalah penemuan batas objek. Dalam hal ini
batas objek berupa bagian tepi objek. Setelah tepi objek diketahui pencarian
ciri terhadap objek dapat dilaksanakan.
Cara Membuat dan Menampilkan Gambar Dengan Menggunakan Matlab
GUI merupakan salah satu fitur dalam matlab yang digunakan untuk menyajikan
tampilan yang mudah untuk digunakan atau dibaca oleh pengguna (dalam istilahnya
disebut juga aplikasi yang user friendly). GUI (Grapichal User Interface)
sering digunakan untuk membuat simulasi aplikasi dekstop. Banyak orang yang
menggunakan fitur ini sebagai medianya. Pada kesempatan kali ini, kita akan
belajar cara membuka (browse) image dan menampilkannya dengan menggunakan GUI
pada Matlab. Langkah pertama tentu saja jita harus membuat framework GUI Matlab
terlebih dahulu.
Berikut ini merupakan tutorial cara membuat citra berwarna (RGB) menjadi
hitam putih (biner) menggunakan Graphical User Interface (GUI) MATLAB:
1. Buatlah rancangan GUI MATLAB yang terdiri dari 2 axes, 3 pushbutton, 1
slider, dan 1 edit text seperti tampak pada gambar di bawah ini
2. Hapus xTick, yTick, dan zTick pada masing-masing axes
3. Ubahlah string pada masing-masing pushbuttton dengan nama Open Image,
Grayscale, dan Save
4. Hapuslah string pada edit text
5. Ubahlah Min slider menjadi 0 dan Max menjadi 255,
sehingga tampilan GUI tampak pada gambar berikut:
6. Script Programnya adalah sbb:
function varargout =
Latm(varargin)
% LATM MATLAB code for Latm.fig
% LATM, by
itself, creates a new LATM or raises the existing
% singleton*.
%
% H = LATM
returns the handle to a new LATM or the handle to
% the existing
singleton*.
%
%
LATM('CALLBACK',hObject,eventData,handles,...) calls the local
% function
named CALLBACK in LATM.M with the given input arguments.
%
%
LATM('Property','Value',...) creates a new LATM or raises the
% existing
singleton*. Starting from the left,
property value pairs are
% applied to
the GUI before Latm_OpeningFcn gets called.
An
% unrecognized
property name or invalid value makes property application
% stop. All inputs are passed to Latm_OpeningFcn via
varargin.
%
% *See GUI
Options on GUIDE's Tools menu. Choose
"GUI allows only one
% instance to
run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help Latm
% Last Modified by GUIDE v2.5 01-Oct-2016 15:43:06
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',
@Latm_OpeningFcn, ...
'gui_OutputFcn', @Latm_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
% End initialization code - DO NOT EDIT
% --- Executes just before Latm is made visible.
function
Latm_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle
to figure
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% varargin
command line arguments to Latm (see VARARGIN)
% Choose default command line output for Latm
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes Latm wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the
command line.
function varargout =
Latm_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)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function
pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle
to pushbutton1 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
[name_file1,name_path1] = uigetfile( ...
{'*.bmp;*.jpg;*.tif','Files of type (*.bmp,*.jpg,*.tif)';
'*.bmp','File Bitmap (*.bmp)';...
'*.jpg','File jpeg (*.jpg)';
'*.tif','File Tif (*.tif)';
'*.*','All Files (*.*)'},...
'Open Image');
if
~isequal(name_file1,0)
handles.data1 =
imread(fullfile(name_path1,name_file1));
guidata(hObject,handles);
axes(handles.axes1);
imshow(handles.data1);
else
return;
end
% --- Executes on button press in pushbutton2.
function
pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle
to pushbutton2 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
image1 = handles.data1;
gray = rgb2gray(image1);
axes(handles.axes2);
imshow(gray);
handles.data2 = gray;
guidata(hObject,handles);
% --- Executes on slider movement.
function
slider1_Callback(hObject, eventdata, handles)
% hObject handle
to slider1 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'Value') returns position of slider
%
get(hObject,'Min') and get(hObject,'Max') to determine range of slider
gray = handles.data2;
value = get(handles.slider1,'value');
thresh = imcomplement(im2bw(gray,value/255));
axes(handles.axes2);
imshow(thresh);
handles.data3 = thresh;
guidata(hObject,handles);
set(handles.edit1,'String',value)
% --- Executes during object creation, after setting all
properties.
function
slider1_CreateFcn(hObject, eventdata, handles)
% hObject handle
to slider1 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles empty
- handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray
background.
if
isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9
.9]);
end
% --- Executes on button press in pushbutton3.
function
pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle
to pushbutton3 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
thresh = handles.data3;
[name_file_save,path_save] = uiputfile( ...
{'*.bmp','File Bitmap (*.bmp)';...
'*.jpg','File jpeg (*.jpg)';
'*.tif','File Tif (*.tif)';
'*.*','All Files (*.*)'},...
'Save Image');
if
~isequal(name_file_save,0)
imwrite(thresh,fullfile(path_save,name_file_save));
else
return
end
function
edit1_Callback(hObject, eventdata, handles)
% hObject handle
to edit1 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles structure
with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1
as text
%
str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all
properties.
function
edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle
to edit1 (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles empty
- handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on
Windows.
% See ISPC
and COMPUTER.
if ispc &&
isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
7. Ketika di Run maka akan tampak seperti pada gambar di bawah ini
8. Klik Open Image, pilih gambar yang ingin
diproses dan klik Grayscale.
9. Geser nilai Slider
10. Citra hitam putih yang terbentuk dapat
disimpan dengan cara meng-klik tombol Save Image.
Daftar Pustaka :
https://www.academia.edu/7385678/Pengolahan_Citra_Digital?auto=download
https://pemrogramanmatlab.wordpress.com/2016/09/30/thresholding_citra/#more-17
Tidak ada komentar:
Posting Komentar