Penajaman Citra
2
komentar
use real
-
Sharpening
Pada tugas kali ini, akan
dijelaskan mengenai penajaman citra (sharpening) dengan menggunakan MATLAB
versi 7. Penajaman citra bertujuan untuk memperjelas tepi objek pada citra.
Metodenya menggunakan High Pass Filter. Penajaman citra sering juga disebut
sebagai penajaman tepi (edge sharpening).
Selanjutnya saya akan menjelaskan proses pembuatan sharpening dengan matlab
beserta GUI-nya. Pertama-tama buka program matlab, kemudian ketikan
>>guide pada command window. Kemudian pilih Blank GUI, lalu OK.
Selajutnya simpan figure dengan mengklik File>>Save As, simpan dengan
nama Sharpening. Lalu desain figure dengan mendesain seperti gambar dibawah ini
:
Pada desain GUI di atas komponen yang digunakan yaitu pushbutton, axes,
panel , dan static text. Untuk mengatur properti komponen dapat dilakukan
dengan double click pada komponen atau dengan klik kanan pada
komponen>>property inspector.
Pada desain GUI sharpening ini saya menggunakan tiga pushbutton yaitu
Browse, Sharp, dan Clear Image. Button Browse digunakan untuk meload gambar ke
axes pertama. Button Sharp digunakan untuk melakukan proses penajaman citra
yang hasilnya akan ditampilkan pada axes kedua. Button Clear Image berfungsi
untuk membersihkan gambar pada axes pertama dan kedua.
Berikut ini adalah koding untuk keseluruhan komponen :
Script
function varargout =
Sharpening(varargin)
%
SHARPENING MATLAB code for Sharpening.fig
% SHARPENING, by itself, creates a new
SHARPENING or raises the existing
% singleton*.
%
% H = SHARPENING returns the handle to a
new SHARPENING or the handle to
% the existing singleton*.
%
%
SHARPENING('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in SHARPENING.M
with the given input arguments.
%
% SHARPENING('Property','Value',...)
creates a new SHARPENING or raises the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before
Sharpening_OpeningFcn gets called. An
% unrecognized property name or invalid
value makes property application
% stop.
All inputs are passed to Sharpening_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 Sharpening
% Last
Modified by GUIDE v2.5 26-Dec-2011 00:55:06
% Begin
initialization code - DO NOT EDIT
gui_Singleton =
1;
gui_State =
struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',
@Sharpening_OpeningFcn, ...
'gui_OutputFcn', @Sharpening_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 Sharpening is made visible.
function
Sharpening_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
Sharpening (see VARARGIN)
% Choose
default command line output for Sharpening
handles.output =
hObject;
% Update
handles structure
guidata(hObject,
handles);
% UIWAIT
makes Sharpening wait for user response (see UIRESUME)
%
uiwait(handles.figsharp);
% ---
Outputs from this function are returned to the command line.
function varargout =
Sharpening_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 btnbrowse.
function
btnbrowse_Callback(hObject, eventdata, handles)
%
hObject handle to btnbrowse (see GCBO)
%
eventdata reserved - to be defined in a
future version of MATLAB
%
handles structure with handles and
user data (see GUIDATA)
proyek=guidata(gcbo);
[namafile,direktori]=uigetfile({'*.jpg';'*.bmp';...
'*.png';'*tif'},'Buka Gambar');
I=imread(namafile);
set(proyek.figsharp,'CurrentAxes',proyek.axes1);
set(imshow(I));
set(proyek.axes1,'Userdata',I);
set(proyek.figsharp,'Userdata',I);
% ---
Executes on button press in btnsharp.
function
btnsharp_Callback(hObject, eventdata, handles)
%
hObject handle to btnsharp (see GCBO)
%
eventdata reserved - to be defined in a
future version of MATLAB
%
handles structure with handles and
user data (see GUIDATA)
proyek=guidata(gcbo);
I=get(proyek.axes1,'Userdata');
PSF=fspecial('unsharp');
A=imfilter(I,PSF,'replicate');
set(proyek.figsharp,'CurrentAxes',proyek.axes2);
set(imshow(A));
set(proyek.axes2,'Userdata',A);
% ---
Executes on button press in btnclear.
function
btnclear_Callback(hObject, eventdata, handles)
%
hObject handle to btnclear (see GCBO)
%
eventdata reserved - to be defined in a
future version of MATLAB
%
handles structure with handles and
user data (see GUIDATA)
proyek=guidata(gcbo);
set(proyek.figsharp,'CurrentAxes',proyek.axes1);
cla;
set(proyek.figsharp,'CurrentAxes',proyek.axes2);
cla;
Penjelasan :
Fungsi Uigetfile digunakan sebagai kotak dialog standar
untuk mengambil file.
Syntax:
filename = uigetfile
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec)
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle)
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName)
[FileName,PathName,FilterIndex] = uigetfile(...,'MultiSelect',selectmode)
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec)
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle)
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName)
[FileName,PathName,FilterIndex] = uigetfile(...,'MultiSelect',selectmode)
PSF=fspecial('unsharp');
fspecial menciptakan filter 2-D PSF dari tipe yang spesifik.
fspecial mengembalikan nilai PSF sebagai kernel korelasi, yang merupakan bentuk
yang sesuai untuk digunakan dengan
imfilter. Imfilter digunakan untuk gambar multidimensional. Unsharp merupakan
tipe spesifik yang digunakan untuk meningkatkan kontras.
Fungsi “cla;”
digunakan untuk membersikan objek dari axes.
Untuk menuliskan perintah-perintah diatas dapat digunakan fungsi callback.
Caranya yaitu klik kanan pada komponen>>klik View
Callback>>Callback. Setelah semua perintah sudah dimasukan GUI dapat
dijalankan pada figure dengan menekan CTRL+T.
Dibawah ini adalah gambar output dari gambar asli dan gambar yang sudah
dilakukan proses sharpening.
Apakah terlihat
perbedaannya?
About Me
- use real
- Saya adalah anak terakhir dari 3 bersaudara yang saat ini berkuliah di sebuah Universitas swasta di depok, yaitu Universitas Gunadarma, Dengan jurusan Teknik Informatika.
About this blog
Blog Pribadi ini saya buat untuk memberikan informasi atau berbagi berbagai macam hal kepada teman-teman blogger :)
Blogroll
Category List
Blog Archive
Translate this blog :
Popular Posts
-
1. Pengertian Komunikasi data Komunikasi Data merupakan bentuk komunikasi yang secara khusus berkaitan dengan transmisi atau pemindahan data...
-
Sejarah sedikit sejarah dari grafika komputer : Kemajuan dalam komputer grafis adalah berasal dari seorang mahasiswa MIT, Ivan Sutherland. P...
-
Halo kawan, wah udah lama banget ga main blog, terakhir post 6 desember 2010 itu pun post karna untuk tugas kuliah,hehe (padahal kenyataanny...
-
Sharpening Pada tugas kali ini, akan dijelaskan mengenai penajaman citra (sharpening) dengan menggunakan MATLAB versi 7. Penajaman citr...
use real blog
- Welcome and Enjoy -
Followers
--------------------------------------------------------