Anda di halaman 1dari 11

TUGAS PRAKTIKUM PENGOLAHAN CITRA DIGITAL

PERTEMUAN : 5
NIM : 1918096
NAMA : Moch. Irfan Prayoga
MATERI : Operasi Konvolusi
TUGAS : 1. Perhitungan Konvulusi
2. Membuat Gui Program Konvulasi

5.1 Operasi Konvolusi


Konvolusi Konvolusi didefinisikan sebagai proses untuk memperoleh suatu
piksel didasarkan pada nilai piksel itu sendiri dan tetangganya, dengan
melibatkan suatu matriks yang disebut kernel yang mempresentasikan
pembobotan. Wujud kernel umumnya bujur sangkar, tetapi dapat pula berbentuk
persegi Panjang.
A. Algoritma Ukuran matriks kernel biasanya lebih kecil dari ukuran matriks
citra. Sebagai contoh misalkan terdapat sebuah matriks f(x,y) dan sebuah
kernel g(x,y) sebagai berikut:
5 3 3 0 4 4 0 5 2 2
4 2 1 3 4 0 5 1 3 3
6 3 0 1 6 2 7 0 3 0
7 4 0 1 0 2 3 2 7 0
7 4 5 1 0 6 3 2 7 0
4 7 5 5 7 7 6 2 6 4
6 0 1 4 7 0 7 2 0 2
6 5 1 3 2 4 4 1 0 0
Matriks f(x,y)
1 3 1
5 2 7
4 0 -2
Kernel g(x,y)

Algoritma atau langkah-langkah untuk melakukan konvolusi terhadap


matriks f(x,y) adalah sebagai berikut : Memutar convolution kernel 180
derajat. 1 3 1 -2 0 4
5 2 7 7 2 5
4 0 -2 Rotasi 180° 1 3 1
B. Proses Padding Pada Batas Citra Ketika kita menerapkan filter pada piksel-
piksel yang berada pada pinggir sebuah citra, beberapa elemen dari
computational molecule tidak dapat menimpa piksel citra. Sebagai contoh jika
molekul berukuran 3×3 dan kita sedang menghitung untuk piksel pada ujung
kiri atas dari citra, beberapa elemen pada molekul berada diluar batas citra,
seperti terlihat pada gambar 5.1 berikut ini.

Gambar 5.1 Permasalahan padding pada batas citra


Untuk menghitung kondisi seperti di atas, proses konvolusi menerapkan suatu
metode yang disebut dengan zero padding. Zero padding mengasumsikan
bahwa piksel-piksel yang tidak dapat tertimpa oleh computational molecule
bernilai nol.

Gambar 5.2 Ilustrasi penerapan zero padding pada proses konvolusi

C. Merancang Filter Rata-rata pada Operasi Konvolusi Filter rata-rata biasa


disebut dengan filter penghalus (smoothing filter) dan juga ada yang
menyebut sebagai lowpass filters. Filter ini biasa digunakan untuk
mengaburkan (blurring) citra dan untuk mereduksi noise.Contoh perintah
untuk melakukan konvolusi dengan menggunakan filter rata- rata pada citra
‘cameraman.tif’ adalah sebagai berikut :
Source Code :
clear; clc;
I = imread('cameraman.tif');
k = ones(3)/9;
Hsl = padding(I, k);
imshow(I);

Tampilan Hasil :
D.

Gambar 5.3 (a) Citra sebelum dilakukan konvolusi, (b) Hasil konvolusi
dengan kernel 3×3

5.2 Langkah-langkah membuat Tugas


Melakukan Perhitungan Konvulusi dengan 2 digit nim terakhir
50 12 73 89 29 90
53 1 3 1
45 96 1 2 4

43 5 6 4 2 83 5 2 7
21 3 7 7 3 12 4 0 6
18 5 4 6 3 23 Kernel g(x,y)
42 23 16 12 10 11
Matriks f(x,y)
Penyelesaian :

B (2,2) = (50 * 1) + (12 * 3) + (73 * 1)


(45 * 5) + (96* 2 ) + (1* 7)
(43 * 4) + (5 * 0) + (6 * 6)
159 + 424 + 208 = 791
B (2,3) = (12 * 1) + (73 * 3) + (89 * 1)
(96 * 5) + (1 * 2 ) + (2 * 7)
(5 * 4) + (6 * 0) + (4 * 6)
320 + 496 + 44 = 860
B (2,4) = (73 * 1) + (89 * 3) + (29 * 1)
(1 * 5) + (2 * 2 ) + (4 * 7)
(6 * 4) + (4 * 0) + (2 * 6)
369 + 37 + 36 = 442
B (2,5) = (89 * 1) + (29 * 3) + (90 * 1)
(2 * 5) + (4 * 2 ) + (53 * 7)
(4 * 4) + (2 * 0) + (83 * 6)
266 + 389 + 514 = 1169
B (3,2) = (45 * 1) + (96 * 3) + (1 * 1)
(43 * 5) + (5 * 2 ) + (6 * 7)
(21 * 4) + (3 * 0) + (7 * 6)
334 + 267 + 126 = 727
B (3,3) = (96 * 1) + (1 * 3) + (2 * 1)
(5 * 5) + (6 * 2 ) + (4 * 7)
(3 * 4) + (7 * 0) + (7 * 6)
101 + 65 + 54 = 220
B (3,4) = (1 * 1) + (2 * 3) + (4 * 1)
(6 * 5) + (4 * 2 ) + (2 * 7)
(7 * 4) + (7 * 0) + (3 * 6)
11 + 52 + 46 = 109
B (3,5) = (2 * 1) + (4 * 3) + (53 * 1)
(4 * 5) + (2 * 2 ) + (83 * 7)
(7 * 4) + (3 * 0) + (12 * 6)
67 + 605+ 100 = 772
B (4,2) = (43 * 1) + (5 * 3) + (6 * 1)
(21 * 5) + (3 * 2 ) + (7 * 7)
(18 * 4) + (5 * 0) + (4 * 6)
64 + 160 + 96 = 320
B (4,3) = (5 * 1) + (6 * 3) + (4 * 1)
(3 * 5) + (7 * 2 ) + (7 * 7)
(5 * 4) + (4 * 0) + (6 * 6)
27 + 78 + 56 = 161
B (4,4) = (6 * 1) + (4 * 3) + (2 * 1)
(7 * 5) + (7 * 2 ) + (3 * 7)
(4 * 4) + (6 * 0) + (3 * 6)
20 + 70 + 34 = 124
B (4,5) = (4 * 1) + (2 * 3) + (83 * 1)
(7 * 5) + (3 * 2 ) + (12 * 7)
(6 * 4) + (3 * 0) + (23 * 6)
93 + 125 + 162 = 380
B (5,2) = (21 * 1) + (3 * 3) + (7 * 1)
(18 * 5) + (5 * 2 ) + (4 * 7)
(42 * 4) + (23 * 0) + (16 * 6)
37 + 128 + 264 = 429
B (5,3) = (3 * 1) + (7 * 3) + (7 * 1)
(5 * 5) + (4 * 2 ) + (6 * 7)
(23 * 4) + (16 * 0) + (12 * 6)
31 + 75 + 164 = 270
B (5,4) = (7 * 1) + (7 * 3) + (3 * 1)
(4 * 5) + (6 * 2 ) + (3 * 7)
(16 * 4) + (12 * 0) + (10 * 6)
31 + 53 + 124 = 208
B (5,5) = (7 * 1) + (3 * 3) + (12 * 1)
(6 * 5) + (3 * 2 ) + (23 * 7)
(12* 4) + (10 * 0) + (11* 6)
28 + 197 + 114 = 339

Hasil :
50 12 73 89 29 90
45 791 860 442 1169 53
43 727 220 109 772 83
21 320 161 124 380 12
18 429 270 208 339 23
42 23 16 12 10 11
5.3 Implementasi GUI Operasi Translasi dan Scalling
1. Implementasi GUI Aritmatika
a. Buat GUI pada matlab melalui command windows
>> guide

b. Pada tampilan Guide quick start pilih Blank GUI, seperti pada gambar 3.1

Gambar 5.4 Tampilan Blank GUI

c. Kemudian akan muncul tampilan GUI, seperti pada gambar 3.2

Gambar 5.5 Tampilan GUI

d. Klik Uicontrol axes, buat enam Uicontrol axes dan enam tombol
pushbutton dan tata dengan rapi,
Gambar 5.6 Tampilan Desain Kosong GUI

e. Kemudian klik kanan pada setiap push button, kemudian pilih


viewcallback > callback, untuk memasukkan scriptnya.

Gambar 5.7 Tampilan Callback

f. Masukkan script dibawah ini pada push button 1


open=guidata(gcbo);
[namafile]=uigetfile({'*.jpg'},'openimage');
O=imread(namafile);
set(open.figure1,'CurrentAxes',open.axes1);
set(imagesc(O));colormap('gray');
set(open.axes1,'Userdata',O)

g. Masukkan script dibawah ini pada push button 2


open=guidata(gcbo);
I = get(open.axes1,'Userdata')
I=rgb2gray(I);
k = [0 -1 0;
-1 8 -1;
0 -1 0];
Hsl = padding(I, k)
set(open.figure1,'currentAxes',open.axes2);
set(imagesc(Hsl));colormap('gray');
set (open.axes2,'Userdata',Hsl);

h. Masukkan script dibawah ini pada penjumlahan pushbutton 3


open=guidata(gcbo);
Z = get(open.axes1,'Userdata');
X = rgb2gray(Z);
Y = ones(3)/9;
hasil = padding(X,Y);
set(open.figure1,'CurrentAxes',open.axes3);
set(imagesc(hasil));colormap('gray');
set(open.axes3,'Userdata',hasil);

i. Kemudian Run program dan inputkan foto, maka akan tampil hasil seperti
pada gambar 4.5
Gambar 5.8 Tampilan hasil GUI akhir

2.

5.4 Alat dan Bahan


1. Laptop
2. Matlab r2015a
3. Modul Pengolahan Citra Digital Bab 3

5.5 Tujuan
1. Praktikan dapat mengetahui Operasi Konvolusi.
2. Praktikan dapat memahami tentang Operasi Konvolusi
dan Operasi Segmentasi citra.
3. Praktikan dapat menghitung dan membuat GUI Operasi
Konvolusi dan Segmentasi Citra.
4. Praktikan dapat mengetahui Operasi Segmentasi.

5.6 Kesimpulan
1. Operasi-operasi yang dilakukan pada pengolahan citra digital dapat
dikelompokkan menjadi dua yaitu: Operasi Konvolusi dan Operasi
Segemntasi.
2. Konvolusi adalah operator matematika yang penting untuk banyak operator
dalam image processing.
3. Operasi pengembangan (thresholding) adalah operasi memetakan nilai
intensias piksel ke salah satu dari dua nilai, a1 dan a2, berdasarkan nilai
ambang (threshold) T.

Tanggal Asistensi
Instruktur Laboratorium Nilai

Jennie Laksita A.K

(1918057)

Anda mungkin juga menyukai