Makalah Pengolahan Citra Digital Alam
Makalah Pengolahan Citra Digital Alam
Disusun Oleh :
Kelompok I
Kurnia Agnawati
Bima Adhi N.
Brilian Dermawan
Maria Fitriana
Agnes Yora Gracia S.
R G Alam Nusantara P H
Ihsan Atmaji
Hafidz Muslim
Muhammad Arif Bayu Aji
21060111120003
21060111120022
21060111130041
21060111130065
21060111130069
21060111110121
21060111130099
21060111140128
21060111140153
BAB I
1.PENDAHULUAN
1.1.
Latar Belakang
Kebutuhan untuk pengolahan citra secara cepat dan mudah sangat
diperlukan. Banyak sekali aplikasi program untuk editing gambar (citra) yang
menyediakan fungsi-fungsi yang sudah tersedia, artinya pengguna tidak dapat
melakukan kostumisasi terhadap fungsi-fungsi spesifik yang dibutuhkannya.
Penelitian ataupun penerapan di lapangan yang melibatkan proses
pengolahan citra, kadang-kadang menyulitkan dalam bidang pemrograman karena
rutin program yang berhubungan dengan komputer grafik membutuhkan keahlian
khusus dalam implementasinya.
MATLAB sebagai salah satu alat (tools) pemrograman untuk membantu
bidang
pendidikan
dan
penelitian
telah
menyajikan
bermacam-
1.2.
Tujuan
BAB II
2.DASAR TEORI
2.1.
1986 John Canny mengusulkan tiga kriteria yang menjadi basis pengembangan
filter untuk mengoptimalkan pendeteksian tepi pada citra bernoise (Febriani,
2008). Algoritma deteksi tepi Canny dikenal sebagai algoritma yang optimal
dalam melakukan pendeteksian tepi. Untuk meningkatkan metode-metode yang
telah ada dalam pendeteksian tepi, algoritma deteksi tepi Canny mengikuti
beberapa kriteria (Canny, 1986) sebagai berikut:
a. Good detection. Kriteria ini bertujuan memaksimalkan nilai signal to noise
ratio (SNR) sehingga semua tepi dapat terdeteksi dengan baik atau tidak ada
yang hilang.
b. Good localization. tepi yang terdeteksi berada pada posisi yang sebenarnya,
atau dengan kata lain bahwa jarak antara posisi sebenarnya adalah seminimum
mungkin (idealnya adalah 0).
c. Only one response to a single edge (hanya satu respon untuk sebuah tepi).
Artinya detektor tidak memberikan tepi yang bukan tepi sebenarnya.
Berdasarkan pada kriteria ini Canny berhasil melakukan optimalisasi dari
ke 3 kriteria tersebut dan menghasilkan persamaan:
Hasil pendeteksian tepi adalah citra tepi g(x,y) yang nilai setiap pixelnya adalah
g(x,y) = G[f (x,y)], sehingga diperoleh:
Untuk menyatakan apakah sebuah citra g(x,y) merupakan citra tepi atau
bukan maka dilakukan dengan pengambangan (thresholding) yang disimbolkan
dengan T. Thresholding digunakan untuk mengubah citra dengan format skala
keabuan, yang mempunyai kemungkinan nilai lebih dari 2 ke citra biner yang
memiliki 2 buah nilai (yaitu 0 dan 1), seperti berikut:
atau:
b. Pengambangan Ganda
Memiliki ambang bawah dan ambang atas. Dilakukan untuk menampilkan
titik-titik yang mempunyai rentang nilai skala keabuan tertentu.
Dengan fungsi GST:
Metode Canny ini terdiri dari beberapa langkah khusus, Metode Canny
lebih utama dalam mendeteksi tepian yang kurang jelas, yang tidak dapat
diperoleh dengan menggunakan metode lain.
2.2.
Brightness
Brightness adalah proses untuk kecerahan citra, jika intensitas pixel
dikurangi dengan nilai tertentu maka citra akan menjadi lebih gelap, dan
sebaliknya jika intensitas pixelnya ditambah dengan nilai tertentu maka akan lebih
terang.
Adapun rumus brightness adalah sebagai berikut:
dimana
f0(x,y)
fi(x,y)
k
Rumus diatas
Dengan aturan jika intensitas pixel berada antara 0-255 maka, jika pixel
>255 diset menjadi 255 dan jika pixel<0 diset menjadi 0.
Contoh hasil penambahan kecerahan:
BAB III
3.PEMBAHASAN
3.1.
1. Pertama buat rancangan GUI terlebih dahulu dengan cara klik File pada Menu
bar-New-GUI-Blank GUI-Ok.
2. Selanjutnya buatlah sebuah rancangan GUI, jika sudah selesai simpan file
dengan ekstensi (.fig). berikut ini merupakan tampilan dari rancangan GUI
yang telah kami buat
4. %
5. %
6. %
18.
%
*See GUI Options on GUIDE's Tools menu.
"GUI allows only one
19.
%
instance to run (singleton)".
20.
%
21.
% See also: GUIDE, GUIDATA, GUIHANDLES
22.
23.
Choose
Tugas2
24.
25.
26.
27.
28.
29.
30.
...
31.
'gui_OpeningFcn',
@Tugas2_OpeningFcn, ...
32.
'gui_OutputFcn',
@Tugas2_OutputFcn, ...
33.
34.
35.
36.
37.
38.
39.
40.
'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{:});
41.
else
42.
gui_mainfcn(gui_State, varargin{:});
43.
end
44.
% End initialization code - DO NOT EDIT
45.
46.
47.
48.
54.
55.
56.
57.
58.
59.
60.
61.
62.
64.
65.
66.
72.
73.
75.
76.
77.
78.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
x=imread(filename);
axes(handles.axes4);
imshow(x);
set(handles.edit1,'string',filename);
set(handles.edit2,'string',pathname);
98.
99.
101.
102.
103.
108.
109.
114.
115.
116.
117.
118.
119.
121.
122.
124.
125.
126.
131.
132.
135.
136.
137.
138.
139.
140.
set(hObject,'BackgroundColor','white');
end
144.
145.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
case 2
y2=imresize(x,0.5)
axes(handles.axes1);
imshow(y2);
case 3
y3=imresize(x,0.2)
axes(handles.axes1);
imshow(y3);
case 4
y4=imresize(x,0.1)
axes(handles.axes1);
imshow(y4);
case 5
y5=imresize(x,0.05)
axes(handles.axes1);
imshow(y5);
case 6
y6=imresize(x,0.01)
axes(handles.axes1);
imshow(y6);
180.
181.
182.
183.
184.
otherwise
end
189.
190.
195.
196.
197.
198.
205.
206.
207.
208.
215.
216.
217.
218.
219.
220.
221.
% eventdata
version of MATLAB
222.
% handles
GUIDATA)
223.
224.
slider
225.
%
get(hObject,'Min') and get(hObject,'Max') to
determine range of slider
226.
global x
227.
contents = get(hObject,'Value')
228.
set(handles.slider1,'Max',250);
229.
set(handles.slider1,'Min',-250);
230.
nil_brigh = get(handles.slider1,'Value');
231.
val=x+nil_brigh;
232.
imshow(val,'Parent',handles.axes1);
233.
234.
235.
236.
241.
242.
246.
247.
248.
249.
250.
257.
258.
259.
260.
267.
268.
269.
276.
277.
278.
279.
286.
287.
288.
289.
290.
291.
292.
293.
295.
296.
slider
297.
%
get(hObject,'Min') and get(hObject,'Max') to
determine range of slider
298.
global x
299.
contents = get(hObject,'Value')
300.
m=x(:,:,1);
301.
n=x(:,:,2);
302.
o=x(:,:,3);
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
set(handles.slider3,'Max',50);
set(handles.slider3,'Min',-50);
nil_con = get(handles.slider3,'Value');
s=immultiply(histeq(m),nil_con);
t=immultiply(histeq(n),nil_con);
u=immultiply(histeq(o),nil_con);
w=cat(3,s,t,u);
imshow(w ,'Parent', handles.axes1);
317.
318.
322.
323.
324.
4. Setelah semua listing program ditulis, ketik RUN untuk mejlankan program,
dan berikut adalah hasilnya.
5. Mulai dengan me-load image gambar dari computer, nama file serta lokasi file
akan tercantum pada kolom edit text yang ada dibawah.
6. Mulai dengan fitur yang pertama, yaitu deteksi tepi, deteksi tepi dapat
dilakukan dengan cara meng-klik tombol edge detector yang ada pada
aplikasi tersebut. Berikut adalah hasilnya.
7. Dilanjutkan dengan fitur yang kedua, yaitu pengatur brightness. Kita bisa
mengatur brightness pada gambar dengan cara menggeser slider brightness
yang ada di aplikasi tersebut. Berikut adalah contoh penerapannya.
9. Selanjutnya adalah fitur pererata histogram. Fitur ini dapat dijalankan dengan
cara menekan tombol ekualisasi histogram pada aplikasi tersebut. Berikut
adalah contohnya.
10. Selain itu ada pula fitur-fitur tambahan yang terdapat pada aplikasi tersebut.
Seperti pengubah ukuran gambar, Red effect, Green Effect, serta Blue Effect.
Berikut adalah contohnya :