Aplikasi Interpolasi Bilinier pada Pengolahan Citra Digital Veriskt Mega Jaya - 13514018 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 1
[email protected]
AbstrakβMakalah ini berisi aplikasi interpolasi bilinier pada salah satu jenis pengolahan citra digital yaitu perbesaran citra. Setiap pixel pada gambar menunjukan titik-titik yang dapat dibuat persamaan interpolasinya, sehingga dimungkinkan untuk menghasilkan gambar hasil perbesaran yang lebih halus. Keywordsβ Anti-aliasing, Citra, Interpolasi, Interpolasi Linier, Interpolasi Bilinier, Pixel.
Polinom ini dapat ditentukan dengan memasukan kedua titik yang diketahui nilainya.ke sistem persamaan lanjar, yang selanjutnya dapat diselesaikan dengan metode eliminasi Gauss. π¦0 = π0 + π1 π₯0 π¦1 = π0 + π1 π₯1 y
(x1, y1)
I. PENDAHULUAN Interpolasi adalah metode untuk menentukan suatu nilai baru dalam jangkauan nilai-nilai yang diketahui sebelumnya. Nilai baru yang dihasilkan dari interpolasi tidaklah selalu tepat, sangat mungkin terdapat galat dengan nilai yang sebenarnya. Pengolahan ukuran citra digital meliputi perkecilan dan perbesaran ukuran gambar. Yang dimaksud perkecilan atau perbesaran yaitu menampilkan gambar dengan jumlah pixel yang lebih sedikit atau lebih banyak. Proses memperkecil gambar dapat dilakukan dengan mengambil sampel pixel tertentu dari gambar awal. Pada proses membesarkan ukuran gambar terdapat sebuah masalah, yaitu kita tidak mengetahui informasi untuk menentukan warna dari pixel yang akan ditambahkan. Salah satu cara untuk mengatasi masalah ini adalah menggunakan interpolasi bilinier, yang merupakan metode perluasan dari interpolasi linier. Selain itu, interpolasi juga digunakan dalam proses anti-aliasing pada citra.
II. INTERPOLASI
(x0, y0)
x
B. Interpolasi kuadratik Interpolasi linier adalah interpolasi dengan dua buah titik (π₯0 π¦0 ), (π₯1 π¦1 ), (π₯2 π¦2 ) dengan kurva. Polinom yang menginterpolasi yaitu : π2 (π₯) = π0 + π1 π₯ + π2 π₯ 2 Polinom ini dapat ditentukan dengan memasukan ketiga titik yang diketahui nilainya.ke sistem persamaan lanjar, yang selanjutnya dapat diselesaikan dengan metode eliminasi Gauss. π¦0 = π0 + π1 π₯0 + π2 π₯0 2 π¦1 = π0 + π1 π₯1 + π2 π₯1 2 π¦2 = π0 + π1 π₯2 + π2 π₯2 2 (x1, y1)
y
Dalam bidang teknik dan ilmu pengetahuan, pengumpulan titik biasanya dilakukan dengan pengambilan sampel ataupun dengan eksperimen. Titiktitik (π₯0 π¦0 ), (π₯1 π¦1 ), β¦ , (π₯π π¦π ) dapat diinterpolasi dengan polinom berderajat maksimum n. A. Interpolasi linier Interpolasi linier adalah interpolasi dengan dua buah titik (π₯0 π¦0 ), (π₯1 π¦1 ) dengan garis lurus. Polinom yang menginterpolasi yaitu : π1 (π₯) = π0 + π1 π₯
(x2, y2) (x0, y0)
Makalah IF2123 Aljabar Geometri β Informatika ITB βSemester I Tahun 2015/2016
x
C. Interpolasi polinomial Diberikan n buah titik (π₯0 π¦0 ), (π₯1 π¦1 ), β¦ , (π₯π π¦π ) , maka polinom yang menginterpolasi yaitu : ππ (π₯) = π0 + π1 π₯ + β― + ππ π₯ π Polinom ini dapat ditentukan dengan memasukan ketiga titik yang diketahui nilainya.ke sistem persamaan lanjar, yang selanjutnya dapat diselesaikan dengan metode eliminasi Gauss. π¦0 = π0 + π1 π₯0 + β― + ππ π₯0 π π¦1 = π0 + π1 π₯1 + β― + ππ π₯1 π π¦π = π0 + π1 π₯π + β― + ππ π₯π π
III. INTERPOLASI BILINIER Interpolasi bilinier adalah perluasan dari interpolasi linier untuk menginterpolasi dengan dua buah variable. Inti dari interpolasi bilinier adalah pertama melakukan interpolasi linier ke satu arah lalu ke arah lainnya. Misalkan diketahui nilai 4 buah titik dari suatu fungsi f π11 = (π₯1 , π¦1 ), π12 = (π₯1 , π¦2 ), π21 = (π₯2 , π¦1 ), π22 = (π₯2 , π¦2 ), kita ingin mencari nilai dari f pada titik (π₯, π¦). Pertama kita melakukan interpolasi linier pada arah x, menghasilkan : π₯2 β π₯ π₯ β π₯1 π(π₯, π¦1 ) β π(π11 ) + π(π21 ) π₯2 β π₯1 π₯2 β π₯1 π(π₯, π¦2 ) β
π(π₯, π¦) = π11 π(π11 ) + π12 π(π12 ) + π21 π(π21 ) + π22 π(π22 ) Koefisien dapat dicari dengan menyelesaikan : π π11 1 π₯1 π¦1 π₯1 π¦1 β1 1 1 π₯1 π¦2 π₯1 π¦2 π12 π₯ [ ]= [ ] [ ] π¦ 1 π₯2 π¦1 π₯2 π¦1 π21 π₯π¦ 1 π₯ π¦ π₯ π¦ π22 2 2 2 2 ( )
IV. METODE PENGOLAHAN UKURAN CITRA Terdapat berbagai metode untuk memperbesar ukuran pixel suatu gambar.
A. Interpolasi tetangga terdekat Pada metode ini, pixel ditentukan dengan memilih salah satu dari tetangga terdekatnya. Metode ini dapat dieksekusi dengan cepat, namun menghasilkan gambar yang kurang halus.
π₯2 β π₯ π₯ β π₯1 π(π12 ) + π(π22 ) π₯2 β π₯1 π₯2 β π₯1
Kemudian dilanjutkan dengan interpolasi linier pada arah y untuk menghasilkan nilai yang dicari. π¦2 β π¦ π¦ β π¦1 π(π₯, π¦) β π(π₯, π¦1 ) + π(π₯, π¦2 ) π¦2 β π¦1 π¦2 β π¦1 π¦2 β π¦ π₯2 β π₯ π₯ β π₯1 ( π(π11 ) + π(π21 )) π¦2 β π¦1 π₯2 β π₯1 π₯2 β π₯1 π¦ β π¦1 π₯2 β π₯ π₯ β π₯1 + ( π(π12 ) + π(π22 )) π¦2 β π¦1 π₯2 β π₯1 π₯2 β π₯1
π(π₯, π¦) β
π(π₯, π¦) β
1 ((π₯2 β π₯)(π¦2 β π¦)π(π11 ) (π¦2 β π¦1 )(π₯2 β π₯1 ) + (π₯ β π₯1 )(π¦2 β π¦)π(π21 ) + (π₯2 β π₯)(π¦ β π¦1 )π(π12 ) + (π₯ β π₯1 )(π¦ β π¦1 )π(π22 ))
B. Interpolasi Bilinier Metode ini menggunakan interpolasi bilinier untuk menghasilkan citra hasil perbesaran. Metode ini akan dijelaskan lebih lanjut pada bagian selanjutnya.
A. Solusi dengan SPL Cara lain untuk mencari nilai π(π₯, π¦) adalah dengan sistem persamaan lanjar. Solusinya yaitu : π(π₯, π¦) = π0 + π1 π₯ + π2 π¦ + π3 π₯π¦ Koefisien didapat dari menyelesaikan persamaan lanjar dari matriks ini dengan metode Gauss. π(π11 ) 1 π₯1 π¦1 π₯1 π¦1 π0 1 π₯1 π¦2 π₯1 π¦2 π1 π(π12 ) [ ][ ] = [ ] 1 π₯2 π¦1 π₯2 π¦1 π2 π(π21 ) 1 π₯2 π¦2 π₯2 π¦2 π3 π(π22 ) Solusi juga dapat ditulis dalam bentuk :
Makalah IF2123 Aljabar Geometri β Informatika ITB βSemester I Tahun 2015/2016
C. Interpolasi edge-directed Pada metode ini, dihasilkan gambar perbesaran yang halus dan tidak mengandung pixel yang kasar.
V. APLIKASI INTERPOLASI BILINIER PADA PERBESARAN CITRA
Memperbesar gambar digital artinya kita menampilkan suatu gambar dengan jumlah pixel yang lebih banyak. Namun kita tidak mengetahui informasi mengenai warna pixel selain dari gambar aslinya, sehingga untuk menambahkan pixel baru dapat digunakan pendekatan menggunakan beberapa metode. Pada bagian ini, akan ditunjukkan hasil perbesaran citra menggunakan metode tetangga terdekat dan metode interpolasi bilinear. Misalkan terdapat sebuah gambar RGB 2x2 pixel yang akan diperbesar, yaitu : (R= 255, G = X, B = 0, angka menunjukan nilai G) 1
0
0
128
B. Metode interpolasi bilinear Terdapat lima buah pixel tambahan yang belum diketahui warnanya (A, B, C, D, E), dengan menggunakan titik sampel Q11, Q12, Q21, dan Q22, masing-masing titik tersebut akan ditentukan warnanya. 1
Q12 = 0
(0.5, 1) A
Q22 = 128
0.5
(0, 0.5) B
(0.5, 0.5) C
(1, 0.5) D
0
Q11 = 128
(0.5, 0) E
Q21 = 255
y/x
0
0.5
1
Dengan menggunakan cara pertama interpolasi bilinier : π₯2 β π₯ π₯ β π₯1 π(π₯, π¦1 ) β π(π11 ) + π(π21 ) π₯2 β π₯1 π₯2 β π₯1 π(π₯, π¦2 ) β π(π₯, π¦) β -
π¦2 β π¦ π¦ β π¦1 π(π₯, π¦1 ) + π(π₯, π¦2 ) π¦2 β π¦1 π¦2 β π¦1
F(A)
π(0.5, π¦1 ) β
1 β 0.5 0.5 β 0 (128) + (255) = 191.5 1β0 1β0
π(0.5, π¦2 ) β
1 β 0.5 0.5 β 0 (0) + (128) = 64 1β0 1β0
π(0.5,1) β
1β1 1β0 (191.5) + (64) = ππ 1β0 1β0
128
255 -
F(B) π(0, π¦1 ) β
y/x
0
1
1β0 0β0 (128) + (255) = 128 1β0 1β0
π(0, π¦2 ) β
A. Metode tetangga terdekat, Akan dihasilkan gambar :
π(0, 0.5) β 1
0
0
128 -
0.5
0
0
128
0
128
128
255
0
0.5
1
1β0 0β0 (0) + (128) = 0 1β0 1β0
1 β 0.5 0.5 β 0 (128) + (0) = ππ 1β0 1β0
F(C)
π(0.5, π¦1 ) β
1 β 0.5 0.5 β 0 (128) + (255) = 191.5 1β0 1β0
π(0.5, π¦2 ) β π(0.5, 0.5) β
y/x
π₯2 β π₯ π₯ β π₯1 π(π12 ) + π(π22 ) π₯2 β π₯1 π₯2 β π₯1
1 β 0.5 0.5 β 0 (0) + (128) = 64 1β0 1β0
1 β 0.5 0.5 β 0 (64) + (191.5) = πππ. ππ 1β0 1β0
Makalah IF2123 Aljabar Geometri β Informatika ITB βSemester I Tahun 2015/2016
-
F(D) π(1, π¦1 ) β
1β1 1β0 (128) + (255) = 255 1β0 1β0
π(1, π¦2 ) β π(1, 0.5) β -
1β1 1β0 (0) + (128) = 128 1β0 1β0
1 β 0.5 0.5 β 0 (255) + (128) = πππ. π 1β0 1β0
F(E)
π(0.5, π¦1 ) β
1 β 0.5 0.5 β 0 (128) + (255) = 191.5 1β0 1β0
π(0.5, π¦2 ) β π(0.5, 0) β
1 β 0.5 0.5 β 0 (0) + (128) = 64 1β0 1β0
1β0 0β0 (64) + (191.5) = πππ. π 1β0 1β0
Sehingga, dihasilkan : 1 Q12 = 64 0
Q22 = 128
0.5
64
β128
β192
0
Q11 = 128
β192
Q21 =255
y/x
0
0.5
1
Pada metode interpolasi bilinier, terdapat gradien yang lebih halus pada kelima pixel yang ditambahkan, karena warna ditentukan oleh interpolasi pixel-pixel disekitarnya. Sedangkan pada metode tetangga terdekat, warna kelima pixel yang ditambahkan hanyalah hasil copy dari salah satu pixel tetangganya. Dari hasil ini terlihat bahwa interpolasi bilinier menghasilkan gambar perbesaran yang lebih halus. Namun dari sisi pemrosesan, interpolasi bilinier membutuhkan proses yang beberapa kali lebih rumit karena harus memperhitungkan keempat pixel sampel, sedangkan metode tetangga terdekat hanya membutuhkan satu instruksi untuk setiap pixel tambahannya. Proses perbesaran citra yang lebih halus lagi dapat dihasilkan dengan menggunakan metode interpolasi bikubik yang merupakan perluasan dari interpolasi kubik. Hal ini dikarenakan pada metode ini digunakan 16 titik sampel. Karena itu, proses yang dibutuhkan juga akan lebih banyak dan waktu proses yang dibutuhkan lebih lama dibandingkan dengan interpolasi bilinier atau metode tetangga terdekat.
VII. INTERPOLASI PADA ANTI-ALIASING VI. PERBANDINGAN INTERPOLASI BILINIER DENGAN METODE TETANGGA TERDEKAT
Hasil dari kedua percobaan menunjukan perbedaan mencolok. Gambar hasil perbesaran dengan metode tetangga terdekat :
Gambar hasil perbesaran dengan metode interpolasi bilinier :
Pernahkah anda melihat sebuah garis digital yang bentuknya justru seperi tangga? Proses anti-aliasing adalah proses yang membuat gambar menjadi lebih halus dan mengurangi efek objek yang terlihat seperti βtanggaβ. Anti-aliasing juga menggunakan metode interpolasi yang mirip seperti proses perbesaran gambar. Anti-aliasing sering digunakan dalam proses menampilkan objek tiga dimensi pada layar dua dimensi, terutama pada game tiga dimensi. Semakin halus efek anti-
Makalah IF2123 Aljabar Geometri β Informatika ITB βSemester I Tahun 2015/2016
aliasing yang diinginkan, akan membutuhkan proses yang lebih banyak juga. Biasanya proses anti-aliasing menggunakan sumber daya proses yang cukup besar.
VIII. KESIMPULAN Interpolasi bilinier yang berbasis interpolasi linier merupakan salah satu metode yang bermanfaat dalam pengolahan citra digital. Dengan menggunakan metode ini, dapat dihasilkan gambar yang cukup halus, dibandingkan dengan metode tetangga terdekat. Namun, proses yang dibutuhkan untuk metode interpolasi bilinier lebih banyak, sehingga waktu yang dibutuhkan lebih lama. Bisa disimpulkan bahwa semakin baik kualitas perbesaran yang diinginkan, maka cenderung membutuhkan proses yang lebih banyak, maka membutuhkan waktu yang lebih lama juga.
IX. ACKNOWLEDGMENT Puji dan syukur kepada Tuhan Yang Maha Esa yang telah memberikan rahmat-Nya sehingga saya bisa menyelesaikan makalah ini. Saya ingin mengucapkan terima kasih kepada Bapak Rinaldi Munir dan Bapak Judhi Santoso yang telah mengajarkan Aljabar Geometri yang sangat membantu dalam penyelesaian makalah ini.
REFERENCES [1] [2] [3] [4] [5]
Rinaldi Munir, Aplikasi Aljabar Lanjar pada Metode Numerik.ppt, Program Studi Teknik Informatika, STEI ITB. http://www.cambridgeincolour.com/tutorials/imageinterpolation.htm, diakses 11 Desember 2015, 19.00 http://people.cs.clemson.edu/~tadavis/cs809/aa/aliasing2.png, diakses 11 Desmber 2015, 21.00 https://en.wikipedia.org/wiki/Bilinear_interpolation, diakses 11 Desmber 2015, 21.00 https://en.wikipedia.org/wiki/Image_scaling, diakses 11 Desmber 2015, 21.00
PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 27 November 2013
Verisky Mega Jaya - 13514018
Makalah IF2123 Aljabar Geometri β Informatika ITB βSemester I Tahun 2015/2016