teknik pengolahan citra kuliah 2 pengantar matriks dan...
TRANSCRIPT
1
TEKNIK PENGOLAHAN CITRA
Kuliah 2 – Pengantar Matriks dan Citra
Indah Susilawati, S.T., M.Eng.
Program Studi Teknik Informatika
Program Studi Sistem Informasi
Fakultas Teknologi Informasi
Universitas Mercu Buana Yogyakarta
2016
2
KULIAH 2
TEKNIK PENGOLAHAN CITRA
PENGANTAR MATRIKS DAN CITRA
Matriks merupakan sebuah susunan segiempat siku-siku dari bilangan-
bilangan, dalam baris dan kolom. Bilangan-bilangan tersebut disebut entri atau
elemen matriks. Ukuran matriks menyatakan banyaknya baris (horisontal) dan
banyaknya kolom (vertikal). Ukuran matriks dinyatakan dengan notasi m x n,
dengan m adalah jumlah baris dan n adalah jumlah kolom.
Contoh
41berukuranmatriksadalah]8375[B
23berukuranmatriksadalah
13
79
43
A
Untuk menunjuk salah satu elemen matriks tertentu maka ditulis nomor baris dan
nomor kolom dari elemen yang bersangkutan.
Contoh
A(1, 1) = 3
A(2, 1) = 9
A(3, 2) = 1
B(1, 3) = 3
Operasi Matriks
1. Penjumlahan
Jika A dan B adalah sebarang dua matriks yang ukurannya sama, maka jumlah
A dan B atau A + B adalah matriks yang didapatkan dengan menjumlahkan
elemen-elemen yang bersesuaian pada kedua matriks.
3
Contoh
42
51Bdan
21
93A
Maka
63
144
4221
5913
42
51
21
93BA
Contoh script Matlab untuk menjumlahkan dua buah matriks.
2. Pengurangan
Pada dasarnya pengurangan matriks adalah penjumlahan dengan negatif
matriks, sehingga dapat digunakan definisi yang sama dengan penjumlahan
matriks.
Contoh
4
21
42
4221
5913
42
51
21
93BA
Operasi penjumlahan dan pengurangan matriks dapat dilakukan jika kedua
matriks mempunyai ukuran yang sama. Modifikasilah script untuk
menjumlahkan dua buah matriks di atas menjadi script untuk mengurangkan
dua buah matriks.
3. Perkalian
a. Perkalian matriks dengan skalar
Jika A adalah suatu matriks dan c adalah suatu skalar, maka hasil perkalian
antara keduanya yaitu cA adalah matriks yang didapatkan dengan cara
mengalikan setiap elemen A dengan skalar c.
Contoh
42
186
21
932A2
5
b. Perkalian antara dua matriks
Jika A adalah matriks berukuran m x r dan B adalah matriks berukuran r x
n, maka perkalian antara matriks A dan B atau AB adalah matriks
berukuran m x n.
Contoh
135
5121
)4x2()5x1()2x2()1x1(
)4x9()5x3()2x9()1x3(
42
51
21
93AB
4. Transpose
Transpose matriks diperoleh dengan mengubah baris menjadi kolom dan
kolom menjadi baris. Transpose matriks A dinotasikan dengan AT.
Contoh
45
21Bmaka
42
51B
29
13Amaka
21
93A
T
T
6
Hukum-hukum Operasi Matriks
a. A + B = B + A
b. A + (B + C) = (A + B) + C
c. A(BC) = (AB)C
d. A(B + C) = AB + AC
e. (B + C)A = BA + CA
f. A(B – C) = AB – AC
g. (B – C)A = BA – CA
h. c(B + C) = cB + cC
i. c(B – C) = cB – cC
j. (b + c)C = bC + cC
k. (b – c)C = bC – cC
l. (bc)C = a(bC)
m. b(BC) = (bB)C = B(bC)
PENGANTAR SCILAB DAN MATLAB
Scilab dan Matlab merupakan perangkat lunak untuk komputasi teknis,
didalamnya tersedia toolbox yang sangat memudahkan berbagai operasi termasuk
untuk pengolahan citra (image processing). Dalam perkuliahan ini diharapkan
mahasiswa dapat menerapkan algoritma pengolahan citra dengan seminimal
mungkin menggunakan toolbox. Dengan kata lain dengan cara coding algoritma
secara langsung dalam sce-file atau m-file. Toolbox sebagian besar hanya akan
digunakan untuk menggambarkan efek algoritma secara garis besar saja.
Secara sederhana, Scilab dan Matlab dapat digunakan untuk menyimpan,
memanggil kembali matriks dan melakukan berbagai operasi matriks.
Contoh sintaks Scilab
-->A = [6 8;12 24]
A =
6. 8.
12. 24.
7
-->B = [3 2;1 5]
B =
3. 2.
1. 5.
-->[m n] = size(A)
n =
2.
m =
2.
-->A(2,1)
ans =
12.
-->B(2,2)
ans =
5.
Contoh sintaks Matlab
>> A=[3 9;1 2]
A =
3 9
1 2
>> A
A =
3 9
1 2
>> B=[1 5;2 4]
8
B =
1 5
2 4
>> B
B =
1 5
2 4
>> [m, n]= size (A)
m =
2
n =
2
>> [x, y] = size (B)
x =
2
y =
2
>> A(2,2)
ans =
2
>> A(2,1)
ans =
1
>> B(1,1)
ans =
1
9
>> B(1,2)
ans =
5
PENGANTAR CITRA
Citra dan Gambar. Citra adalah gambar tunggal yang mewakili sesuatu.
Manusia dikenal sebagai makhluk visual sehingga pengolahan citra menjadi
sesuatu yang menarik untuk dipelajari.
Representasi citra berkaitan dengan karakterisasi kuantitas yang diwakili
oleh setiap titik pada citra yang disebut piksel. Citra dapat menyatakan luminansi
objek (misalnya pada gambar yang diambil dengan kamera), sifat penyerapan oleh
jaringan tubuh (pencitraan sinar x), profil suhu (pencitraan inframerah) dan lain-
lain. Dalam Matlab, misalnya, ada 4 tipe citra yaitu:
1. Citra yang dinyatakan dengan intensitas (intensity images)
Citra tipe ini pikselnya dinyatakan dengan intensitas keabuan (8 bit atau 16
bit).
2. Citra biner (binary images)
Citra tipe ini pikselnya dinyatakan dengan “0” dan “1” saja.
3. Citra indeks (indexed images)
Citra tipe ini pikselnya dinyatakan dengan 2 komponen yaitu satu matriks data
(bilangan bulat) dan sebuah matriks peta-warna (colormap matrix).
10
4. Citra RGB (RGB images)
Citra tipe ini pikselnya dinyatakan dengan array piksel warna berukuran m x
n x 3. Ukuran m x n merupakan ukuran citra dan angka 3 terkait dengan 3
komponen warna yang digunakan yaitu R (Red), G (Green), dan B (Blue).
Dalam mata kuliah ini akan lebih banyak dipakai citra intensitas aras kebuan, citra
RGB, dan citra biner.
Secara umum, citra didefinisikan sebagai suatu fungsi kontinyu atas
intensitas cahaya f(m,n) dalam bidang dua dimensi. Besaran m dan n menyatakan
koordinat, sedangkan nilai f pada setiap titik (m,n) menyatakan intensitas atau
kecerahan atau derajat keabuan pada titik tersebut. Suatu citra digital adalah citra
kontinyu yang diubah ke dalam bentuk diskret baik koordinat maupun
intensitasnya. Citra digital dapat dianggap sebagai suatu matriks dengan indeks
11
baris dan kolom menyatakan koordinat setiap titik pada citra, dan nilai tiap-tiap
elemennya menyatakan intensitas cahaya pada titik tersebut. Satu titik pada citra
digital dapat diidentikkan dengan sebuah piksel.
Contoh
Citra lena.jpg merupakan citra intensitas aras keabuan.
>> imshow ('lena.jpg')
>> I = imread ('lena.jpg')
I merupakan hasil pembacaan citra lena.jpg sesuai dengan ukuran
citranya. Untuk baris 1 sampai dengan 5 dan kolom 1 sampai dengan 12,
hasil pembacaan citranya adalah sebagai berikut.
Kolom 1 Kolom 12
Baris 1 104 104 105 106 107 107 107 107 107 106 106 106
Baris 2 105 105 106 107 107 106 106 106 107 106 105 105
Baris 3 106 106 106 106 106 105 105 104 106 105 104 104
Baris 4 105 105 105 106 106 105 105 104 105 104 102 102
Baris 5 102 103 104 105 105 106 105 105 105 103 101 101
Ini berarti bahwa I(1, 1) = 104, I(5, 11) = 101, dst. Nilai-nilai yang
terlihat merupakan nilai aras keabuan (gray level) pada piksel yang
12
bersangkutan; nilai aras keabuan pada baris 1 kolom 1 adalah 104 dst.
Jika aras keabuan dinyatakan dalam 8 bit, maka akan ada 28 (256) nilai
aras keabuan yang berbeda yaitu dari 0 hingga 255. Nilai 0 adalah paling
hitam dan nilai 255 adalah paling putih.
>> [m, n] = size (I)
m =
512
n =
512
>> [m, n, o] = size (I)
m =
512
n =
512
o =
1
Ini berarti citra lena.jpg adalah citra 2 dimensi berukuran 512 x 512.
Cobalah dalam sintaks Scilab sebagai berikut:
-- > I=imread('lena.jpg');
-- > imshow(I)
Cobalah ketahui dimensi citranya dan juga matriks citranya.
Citra berwarna mempunyai dimensi yang berbeda dengan citra aras keabuan, yaitu
terdiri atas 3 lapis (layer) matriks yang mewakili tiga komponen warna merah (R),
hijau (G), dan biru (B) dalam representasi warna RGB. Perhatikan contoh citra
warna RGB berikut.
13
>> I=imread('ballons.jpg');
>> size(I)
ans =
525 700 3
Perhatikan urutan tampilan ukuran citra. Ini berarti bahwa ukuran matriks
hasil pembacaan citra ballons.jpg adalah 525 x 700 x 3, jumlah baris
sebanyak 525, jumlah kolom sebanyak 700, dan terdiri atas 3 lapisan
(layer). Adanya 3 lapisan ini juga menunjukkan bahwa citra merupakan
citra warna. Tiga lapisan ini sering disebut dengan lapisan RGB (Red
Green Blue) yang merupakan warna dasar yang digunakan.
Citra warna disimpan sebagai citra 24 bit, dengan komponen red, green,
dan blue masing-masing adalah 8 bit. Dengan demikian akan dapat
dibentuk 224
(16 juta) jenis warna.
Lapisan merah, hijau, dan biru, dapat diakses dengan sintaks sbb.
>> I(:,:,1); merah
>> I(:,:,2); hijau
>> I(:,:,3); biru
14
Cobalah tampilkan masing-masing lapisan (layer) warna pada citra
ballons.jpg di atas.
Suatu citra warna dapat diubah menjadi citra aras keabuan menggunakan
fungsi rgb2gray.sce. Sintaks yang digunakan adalah sbb.
--> J = imread (‘ballons.jpg’);
--> [m, n, o] = size (J)
--> JJ = rgb2gray (J);
--> [x, y, z] = size (JJ)
--> imshow (J)
--> imshow (JJ)
--> imwrite (JJ, 'ballons2.bmp')
disimpan di work atau direktori aktif yang sedang dipakai
--> imwrite(JJ,'D:\Citra\ballons.bmp');
disimpan di direktori D folder Citra
15
Pada dasarnya, pengubahan citra warna menjadi citra aras keabuan dapat
dilakukan dengan merata-rata setiap piksel tertentu dari ketiga
komponennya (red, green, blue).
3
BGRkeabuanpiksel
…………………………(1)
Tugas sebagai latihan (gunakan citra anda sendiri, cetak hasilnya):
1. Membuat program untuk melakukan transpose matriks.
2. Membuat program untuk mengubah citra warna menjadi citra aras keabuan
menggunakan rumus (1) di atas.