Transcription

Aplikasi Matriks dalam Pengolahan GambarAdi Purnama (13514006)1Program Studi InformatikaSekolah Teknik Elektro dan InformatikaInstitut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, [email protected]— Matriks merupakan sebuah objek matematikayang terdiri dari susunan angka-angka berdasarkan barisdan kolom. Teori-teori mengenai matriks memiliki banyakmanfaat untuk menyelesaikan berbagai masalah di duniamatematika, sains, bisnis & engineering. Di dalam makalahini, penulis akan menjelaskan berbagai aplikasi matriksdalam pengolahan citra (image processing). Beberapa fungsidasar yang dimiliki oleh perangkat lunak pengolahan citraseperti rotasi, translasi , , blur , sharpen dan lain lain akandijelaskan dengan sudut pandang operasi n, convolution matrix.Citra,Gambar di atas, setelah diubah ke dalam bentuk gambardigital , dapat direpresentasikan dalam matriks ngan memandang sebuah gambar dalam bentukmatriks , kita dapat melakukan pengolahan gambardengan mengoperasikan nilai-nilai di dalam matriks ini.afflineI. PENDAHULUANSebuah gambar dapat didefinisikan sebagai fungsi duadimensi f(x,y) dimana x & y adalah koordinat bidang danbesar dari f(x,y) adalah intensitas cahaya gambar padasebuah titik (x,y). [1] Sementara itu , gambar digital(digital image) merupakan sebuah gambar yang telahmelalui proses sampling & quantisizing. Pada awalnya,sebuah gambar bersifat kontinu. Dengan melakukanproses sampling & quantizing , gambar ini diubahmenjadi bersifat diskrit.II. REPRESENTASI GAMBARMENGGUNAKAN MATRIKSAgar sebuah gambar bisa diolah oleh komputer ,pertama-tama gambar tersebut harus diubah ke dalambentuk digital (matriks). Energi cahaya yang berbentukanalog dikonversi menjadi tegangan listrik menggunakansensor. Proses ini disebut juga dengan sampling. Besarnyategangan listrik yang dihasilkan berbanding lurus denganintensitas cahaya yang diterima oleh sensor.Proses sampling adalah proses untuk mengubahkoordinat gambar menjadi bersifat diskrit [1]. Hal inidilakukan dengan membagi gambar menjadi petak-petaksatuan yang disebut dengan piksel (pixel). Sementara itu,proses quantizing adalah proses pemberian nilai intensitaspada tiap-tiap piksel.Setelah melalui kedua proses ini , gambar digital dapatdipandang sebagai sebuah matriks berukuran m x n ,dimana m adalah besarnya panjang gambar, n adalahbesarnya lebar gambar dan elemen di dalam matriksmerupakan intensitas warna pada setiap piksel di dalamgambar.Gambar 1. Sebuah gambar (kiri) , dilakukan proses sampling (pemotongangambar menjadi beberapa petak pixel) & quantizing (pemberian nilai intensitaspada setiap pixel)Gambar 2. Sensor mengubah energi cahaya yang diterimamenjadi sinyal tegangan listrik (kiri), sensor disusun sebagaipetak-petak , nilai pembacaan intensitasnya mewakili elemenpada matriks di dalam gambar digital.Sumber gambar : Gonzalez, Woods , “Digital Image Processing”,Prentice Hall ,2001Sensor-sensor tersebut disusun sebagai petak-petakberupa matriks. Nilai pembacaan tegangan listrik padamasing-masing sensor menggambarkan nilai intensitascahaya pada setiap piksel. Jumlah sensor yang digunakanakan mempengaruhi kualitas gambar yang dihasilkan.Setelah proses ini selesai dilakukan , kita akanmendapatkan nilai tegangan listrik yang dihasilkan olehmasing – masing sensor. Nilat tegangan listrik iniMakalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016

menggambarkan besarnya intensitas cahaya yang diterimaoleh sensor.grayscale image sering digunakan dalam pemrosesancitra.Namun, nilai intensitas cahaya ini masih berupa nilaiyang kontinu . Oleh karena itu, nilai ini diubah menjadinilai yang bersifat diskrit menggunakan proses kuantisasiGambar 5 (Kiri) gambar direpresentasikan dalam bentukgrayscale image , (kanan) cuplikan isi matriks pada gambar.Perhatikan bahwa nilai elemen-elemen matriks berada padarentang 0 - 255C. RGBGambar disimpan dalam bentuk matriks, yang elemenelemennya berupa tripel (x1,x2,x3) dimana x1 adalahintensitas warna merah, x2 adalah warna hijau dan x3adalah warna biru. Intensitas masing-masing warnaberada dalam rentang 0 – 255.RGambar 3.Intensitas cahaya belum dikuantisasi (atas) ,intensitas cahaya sudah dikuantisasi menjadi struktur diskrit(bawah) Sumber gambar : Gonzalez, Woods , “Digital ImageProcessing”, Prentice Hall ,2001Terdapat beberapa alternatif representasi gambarmenggunakan matriks.[12]A. Binary ImageGambar disimpan dalam bentuk matriks yang elemenelemennya berisi 0 dan 1 . Binary image hanya dapatmenampilkan dua buah warna , yaitu hitam (0) dan putih(1)GBRGBGambar 6. Gambar RGB dipisahkan menurut komponenkomponennnya. Intensitas warna pada tiap komponendirepresentasikan dalam bentuk grayscale.Perhatikan gambar di atas. Pada komponen R (merah) ,bagian kiri gambar memiliki intenstitas yang tinggi(ditunjukkan dengan grayscale image yang berwarnaputih) . Ini menunjukkan bahwa intensitas warna merahpaling tinggi berada di bagian kiri gambar.Untuk mengolah gambar dalam format RGB, gambardipisahkan terlebih dahulu menurut komponenkomponennya . Lalu , komponen-komponennya itudiproses dengan menganggap komponen tersebut sebagaigrayscale. Setelah diproses , komponen itu digabungkankembali menjadi gambar RGB yang utuhD. Indexed ImageGambar 4 (Kiri) gambar direpresentasikan dalam bentuk gambar biner, (kanan) cuplikan isi matriks pada gambarB. Grayscale ImageGambar disimpan dalam bentuk matriks yang elemenelemennya berada di dalam rentang 0 (hitam) sampai255(putih). Bilangan diantara 0 & 255 merepresentasikanwarna abu-abu. Representasi gambar dalam bentukGambar disimpan pada dua buah matriks. Matrikspertama memiliki ukuran yang sama dengan jumlah pixelpada gambar. Setiap elemen pada matriks ini adalahsebuah bilangan yang merupakan kode warna. Sementaraitu, matriks kedua (disebut juga color map) menyimpannilai intensitas warna yang bersesuaian dengan kodewarna pada matriks pertamaMakalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016

ks di atas menunjukkan konversi gambar yangdirepresentasikan dengan RGB menjadi indexed image.Pada indexed image , kode warna 0 mengacu pada(0,70,30) dan kode warna 1 mengacu pada (0,100,30).Representasi gambar menggunakan indexed image dapatmengurangi besarnya ukuran penyimpanan data.Dari beberapa alternatif di atas, representasi gambarmenggunakan grayscale banyak digunakan dalampengolahan citra.III. TRANSFORMASI GAMBARSalah satu fungsi dasar yang dimiliki oleh perangkatlunak pengolah gambar adalah transformasi gambar.Dengan melakukan transformasi gambar, kita dapatmengubah ukuran , sudut , dimensi & perspektif darigambar yang kita sedang olah. Transformasi gambarini dapat direpresentasikan menggunakan perkalianmatriks.Salah satu cara sederhana untuk melakukan transformasigambar adalah melakukan transformasi setiap titik pixelpada gambar mula-mula (x,y) ke koordinat baru (x’,y’).Lalu, menempatkan kembali nilai intensitas pixel kekoordinat yang baru.#!!" ,# ,#Transformasi titik koordinat ini dapat dilakukanmenggunakan persamaan affine (affine transformation).Affine transformation merupakan transformasi yangmempertahankan kesejajaran (titik titik dalam sebuahgaris akan tetap berada di garis tersebut setelah dilakukantransformasi) dan rasio jarak objek yang dilakukantransformasi (titik tengah suatu garis akan tetap berada ditengah setelah dilakukan transformasi) [4]. Koordinat(x,y) setelah dilakukan transformasi dapat ditentukanmenggunakan persamaan berikut.[6]%!Keteranganx’y’xysxsy#!1&%#1&()' * ,)*)( , 001: Koordinat x setelah ditransformasi: Koordinat y setelah ditransformasi: Koordinat x mula-mula: Koordinat y mula mula: Faktor pengali scaling sumbu x: Faktor pengali scaling sumbu yrxrytxty: Faktor pengali shearing sumbu xpengali shearing sumbu y: Nilai translasi sumbu x: Nilai translasi sumbu y: FaktorSebagai contoh, andaikan kita mempunyai empat buahtitik yang membentuk bangun persegi , direpresentasikandengan matriks pada persamaan affline.02.020022//0//01.010011//0//Untuk meningkatkan dimensi tinggi dan lebar persegi inisebesar dua kali lipat, beri nilai sx dan sy sebagai 2 .Sehingga matriks koordinat ini menjadi sebagai berikut02.020022//0//2100020223/Untuk melakukan shearing , beri nilai pada rx (horizontalshear) atau ry (vertical shear). Beri nilai sx & sy sebesar1 (penskalaan 1 kali k melakukan translasi , ubah nilai pada tx & ty ,dengan mempertahankan nilai sx&sy sebesar 1.24.242244//0//02.020022//0//1102012223/Untuk melakukan rotasi , nilai elemen pada matriks dapatdihitung menggunakan rumussx cos (α)rx sin(α)ry -sin(α)sy cos(α)Makalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016

Namun, pada beberapa kasus, operasi transformasigambar melibatkan perubahan jumlah piksel. Sebagaicontoh, apabila kita memperbesar ukuran gambar(scaling) , gambar yang telah diperbesar itu memilikijumlah piksel yang lebih banyak daripada sebelumnya.Oleh karena itu, diperlukan sebuah metode untuk mengisikekurangan piksel yang adademikian ,cukupterdekat.[10]bulatkannilai(x,y)kesatuanPada beberapa kasus, operasi transformasi gambar justrumelibatkan pengurangan jumlah piksel pada gambar.Salah satu prosedur untuk mengatasi masalah ini angga.[11] Andaikan sebuah gambar yangukurannya diperkecil sebesar 50% , maka setiap 2x2 blokpiksel akan diubah menjadi sebuah piksel yang memilikiintensitas warna sebesar rata-rata 4 piksel tersebut.Berikut adalah hasil pemrosesan gambar menggunakanperkalian matriks affine.Matriks AffineGambar 7 Empat buah piksel (kiri) ditransformasikanmenjadi gambar sebelah kanan. Perhatikan bahwa adapiksel kosong pada gambar.Ada beberapa prosedur untuk mengisi kekosonganpada piksel ini. Prosedur ini disebut juga denganinterpolasi gambar (image interpolation).[9]A. Nearest Neighbor InterpolationNilai intensitas warna pada piksel yang kosong diisi olehpiksel terdekatnya.Interpolasi gambar jenis inimengakibatkan gambar menjadi berukuran lebih besarterlihat terkotak-kotak (jagged)B. Bilinear InterpolationNilai intenstias warna pada piksel yang kosongmerupakan nilai rata-rata dari empat (piksel 2x2)intensitas warna di sekitar piksel kosong tersebut. Gambaryang dihasilkan oleh interpolasi jenis ini lebih halusdaripada metode nearest neighbor.C. Bicubic InterpolationNilai intensitas warna pada piksel yang kosongmerupakan nilai rata-rata dari 16 (piksel 4x4)intensitas warna di sekitar piksel kosong tersebut.Prosedur lain untuk mengatasi masalah ini adalah denganmelakukan transformasi balik. [10] Andaikan (x’,y’)adalah koordinat gambar setelah ditransformasi. Kita akanmencari (x,y) yang bersesuaian dengan (x’,y’) , lalumenempatkan nilai intensitas warna (x,y) ke koordinat(x’,y’).%!#!1&()' * ,)*)( , 00145%#1&Nilai (x,y) yang didapat dari hasil perkalian matriks diatas mungkin bukan merupakan bilangan bulat. 3/Hasil Transformasi223/223/223/0.50.860223/IV. EFEK FILTER GAMBARSelain transformasi gambar, fitur utama yang dimilikioleh perangkat lunak pengolah gambar adalah fitur efekfilter. Dengan fitur ini , kita dapat meningkatkanketajaman gambar (contrast) mengatur pencahayaan(brightness), memberi efek buram (blur) dan lain lain.Proses pemberian efek gambar ini disebut juga denganimage convolution.Proses konvolusi matriks berbeda dengan perkalianmatriks biasa. Operasi konvolusi (dinotasikan dengansimbol *) dapat digambarkan sebagai berikutMakalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016

9 :1 2 31; "3 14 5 63 7 8 9Operasi ini akan menghasilkanV (a*1) (b*2) (c*3) (d*4) (e*5) (f*6) (g*7) (h*8) (i*9)8Di dalam pemrosesan gambar , matriks9 :1; " 3 menggambarkan nilai intensitas cahaya pada tiap pikselgambar. Sementara itu , matriks1 2 314 5 637 8 9disebut juga dengan kernel matrix , sebuah matriks yangberfungsi sebagai efek filter yang akan diaplikasikan padagambar.Sebagai contoh , andaikan kita akan mengaplikasikanefek blur pada sebuah gambar. Kernel efek blur adalahsebagai berikut1 1 1 111 1 1391 1 1Andaikan matriks gambar yang akan diberi efek bluradalah sebagai berikut9246 781172 //2 313173 162 71Hitung nilai konvolusi matriks tersebut892117217346//216278 1 1313 1197111111131V 103Hasil perhitungan ini merupakan nilai intensitas warnapada piksel yang sudah diberi efek buram. Maka, matriksgambar yang sudah diberi efek buram adalah sebagaiberikut6 666/[email protected] ini baru memproses memburamkan sebuah pikselpada gambar. Lakukan proses ini berulang-ulang hinggaseluruh piksel pada gambar telah dihitung.Gambar 8. Proses yang dilakukan dalam image convolution , bagiantengah pada matriks kernel akan mengunjungi setiap piksel padagambar secara traversal hingga seluruh piksel gambar selesai diproses.Kasus khusus terjadi apabila matriks kernel mengunjungibagian tepi matriks. Pada kasus ini , ada beberapa elemenmatriks yang tidak terdefinisi elesaikan persoalan ini[5], yaitu1. Bagian tepi matriks tidak diproses sama sekali.2. Bagian tepi matriks diperluas hingga seluruh nilaiyang dibutuhkan untuk operasi konvolusididapatkan.3. Bagian tepi matriks dibuang dari gambar.Perhatikan lagi matriks kernel pada efek buram1 1 1 111 1 1391 1 1Proses yang dilakukan oleh kernel efek buram ini adalahmerata-ratakan nilai intensitas warna piksel beserta pikseldi sekelilingnya.V (a b c d e f g h i)/9Dengan mengubah nilai intenstas tiap piksel dengan nilairata-rata intensitas piksel disekelilingnya , makaperbedaan intensitas warna antar piksel-piksel yangbertetangga tidak terlalu besar. Ini mengakibatkan gambarmenjadi terlihat buram.Selain efek buram (blur), berikut adalah matriks kerneluntuk beberapa efek filter.Makalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016

A. Sharpen0 61 0161 5 6130 61 0Matriks kernel ini meningkatkan intensitas warna pikseldi tengah berdasarkan perbedaan intesitas warna piksel disekelilingnya (atas, bawah, kiri dan kanan). Semakinbesar perbedaan intensitas warna piksel dengansekelilingnya, semakin tinggi peningkatan intensitaswarna piksel tersebut. Ini mengakibatkan efekpeningkatan ketajaman gambar.intensitas cahaya piksel cenderung sama dengan intensitascahaya piksel di sekelilingnya , maka intensitas cahayapiksel tersebut akan cenderung mendekati nol (gelap).a b c d ea b c d – 4e 0Sebaliknya, apabila intensitas cahaya piksel berbedadengan sekelilingnya , ini menandakan bahwa pikseltersebut merupakan tepi suatu objek pada gambar. Pikseltersebut akan memiliki intensitas yang bukan nol.Berikut adalah hasil pengujian efek gambar terhadapbeberapa matriks kernel.Untuk menghasilkan gambar yang lebih tajam,kita dapatmenggunakan kernel matriks yang memperhitungkanseluruh piksel yang bertetangga dengan piksel tersebut.B. Emboss6216106111Gambar 9. Sumber Gambar ing/Diakses tanggal 15 Desember 20150132Dengan matriks ini , nilai intensitas piksel yang akandiberikan efek akan cenderung mendekati nilai intensitaspiksel tetangganya di bagian kanan-bawah & cenderungmenjauhi nilai intensitas piksel tetangganya di bagiankiri-atas. Hal ini menghasilkan efek pencahayaan yangdatang dari sudut kiri atas gambar.C. Lighten & Darken01000C00030D 1 E , F ,G 1 ; *H FUntuk mengubah tingkat pencahayaan gambar, kita cukupmeningkatkan nilai intensitas cahaya pada tiap piksel.Agar nilai intensitas cahaya piksel meningkat, kalikannilainya dengan x , dimana x 1. Sebaliknya, untukmengurangi nilai intensitas , kalikan diengan x , dimana x 1. Apabilai x 1 , maka nilai intensitas cahaya pikseltersebut tidak berubah.D. Edge Detection011016410130Piksel tepi objek gambar cenderung memiliki warna yangberbeda dengan piksel di sekelilingnya. Sementara itu,piksel yang bukan merupakan tepi objek gambarcenderung memiliki warna yang sama dengan piksel disekelilingnya. Dengan menggunakan filter edge detection, kita dapat mendeteksi tepi objek gambar dengan caramengubah warna piksel yang bukan merupakan tepi objekgambar menjadi warna gelap (hitam).Dengan menggunakan kernel matriks ini, apabila nilaiMakalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016Sharpen01610615611 11191Blur111061301131Emboss62161061110132

Edge 0300030REFERENSI[1]Gonzalez, Woods , “Digital Image Processing”, Prentice Hall,2001[2] Beej Jorgensen, “Image Processing n-image-processing/ , Diaksestanggal 15 Desember 2015[3] tacks.net/convolution-matrix , Diakses tanggal 15Desember 2015[4] Harvey Rhody , “Geometric Image Transformations” ture 02/lec782 05 02.pdf , Diakses tanggal 12 Desember 2015[5] edu/ jduh/courses/Archive/geog481w07/Students/Ludwig ImageConvolution.pdf . Diakses tanggal 11 Desember2015[6] //www.imagemagick.org/Usage/distorts/affine/ . Diaksestanggal 12 Desember 2015[7] Victor Powell , “Image Kernels Explained Visually”,http://setosa.io/ev/image-kernels/ Diakses tanggal 12 Desember2015[8] Neil Dogson , “Computer Graphics & Image Processing” IP.pdf.Diakses tanggal 11 Desember 2015[9] Sean McHugh , “Digital ImageInterpolation” nterpolation.htm . Diakses tanggal 12 Desember 2015[10] Thayer Watkins , “The Geometric Transformation of Images “ tm.Diaksestanggal 14 Desember 2015[11] Anthony Thyssen , “Rezise Or Scaling (General Techniques) ,http://www.imagemagick.org/Usage/resize/#distort . Diakses 15Desember works.com/help/matlab/creating plots/imagetypes.html . Diakses 12 Desember 2015V. KESIMPULANMatriks memiliki aplikasi yang cukup luas pada bidangcomputer graphics . Salah satunya adalah aplikasnya padaaplikasi pengolah gambar. Sebuah objek gambar dapatdirepresentasikan sebagai matriks yang elemenelemennya merupakan nilai intensitas warna padamasing-masing piksel pada matriks. Karena objek gambardapat direpresentasikan dalam bentuk matriks,pengolahan gambar dapat direpresentasikan dalam bentukoperasi-operasi pada matriks. Pada makalah ini, telahdijelaskan bahwafungsi transformasi gambar dapatdirepresentasikan sebagai perkalian matriks koordinatpiksel dengan matriks affine . Sementara itu, pemberianefek filter pada gambar dapat direpresentasikan sebagaioperasi konvolusi antara matriks intensitas cahaya gambardengan matriks kernel.PERNYATAANDengan ini saya menyatakan bahwa makalah yang sayatulis ini adalah tulisan saya sendiri, bukan saduran, atauterjemahan dari makalah orang lain, dan bukan plagiasi.VII. UCAPAN TERIMA KASIHPenulis mengucapkan syukur kepada Allah S.W.T ,karena atas rahmat-Nya , penulis dapat menyelesaikanmakalah ini. Selain itu , penulis juga mengucapkan terimakasih kepada Bapak Rinaldi Munir dan Bapak JudhiSantoso selaku dosen pengampu kuliah IF 2123 AljabarGeometri yang telah memberikan ilmu yang bermanfaatkepada penulis.Makalah IF2123 Aljabar Geometri – Informatika ITB –Semester I Tahun 2015/2016Bandung, 15 Desember 2015Adi Purnama (13514006)

Matriks di atas menunjukkan konversi gambar yang direpresentasikan dengan RGB menjadi indexed image. Pada indexed image , kode warna 0 mengacu pada (0,70,30) dan kode warna 1 mengacu pada (0,100,30). Representasi gambar menggunakan indexed image dapat mengurangi besarnya ukuran penyimpanan data. .