PENGGUNAAN MATRIK KONVOLUSI
UNTUK EFEK EMBOSS PADA SUATU CITRA
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh:
LENY SUSILAWATI ANGGRAINI
NIM 023124040
PROGRAM STUDI ILMU KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Mereka yang memulai aktivitas dengan
penuh keyakinan boleh jadi ditengah
jalan akan gagal tersandung keraguan.
Sebaliknya, mereka yang memulai dengan
keraguan bukan tidak mungkin di tengah
jalan bakal mendapat pencerahan.(
Sir Francis)
Kupersembahkan Skripsiku ini untuk:
Allah Bapa di Surga
Kedua Orang Tuaku dan Pakde Parman
Saudara-saudaraku ( Mbak Gesti, Mas Win, Mas Indra,
Mas Joko, Novan, Wine,Wikri, Wildan, Winata, Lina).
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian dari orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 27 Maret 2007 Penulis
ABSTRAK
PENGGUNAAN MATRIK KONVOLUSI
UNTUK EFEK EMBOSS PADA SUATU CITRA
Oleh :
Leny Susilawati Anggraini
ABSTRACT
THE USE OF CONVOLUTION MATRIK TO MAKE AN EMBOSS EFFECT ON AN IMAGE
By :
Leny Susilawati Anggraini
KATA PENGANTAR
Puji syukur kami panjatkan kepada Tuhan dan Bunda Maria atas segala kasih dan berkat yang telah dilimpahkan kepada kami sehingga kami dapat menyelesaikan skripsi yang berjudul “Penggunaan Matrik Konvolusi Untuk Efek Emboss Pada Suatu Citra”. Skripsi ini kami susun untuk memenuhi salah satu syarat memperoleh gelar sarjana sains dari Universitas Sanata Dharma.
Pada kesempatan ini, penulis ingin menyampaikan ucapan terima kasih kepada :
1. Bpk. Ir. Ign. Aris Dwiatmoko, M.Sc. selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.
2. Ibu. Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku Kepala Program Studi Ilmu Komputer.
3. Bpk. Iwan Binanto S.Kom. selaku dosen pembimbing akademik yang telah memberikan bimbingan dan pengarahan sejak awal kuliah sampai terselesaikannya Tugas Akhir ini.
4. Bpk. Joko Nugroho, S.Si., selaku dosen pembimbing skripsi yang telah membantu, memberi semangat dan pengarahan kepada kami sehingga skripsi ini dapat selesai.
5. Ibu. A. Rita Widiarti, S.Si., M.Kom. selaku dosen pembimbing akademik dan dosen penguji.
7. Staf pengajar, Staf sekretariat (Mas Tukijo dan Mbak Linda) dan staf LAB (Mas Widodo dan Mas Susilo) Fakultas MIPA yang telah banyak membantu kami selama perkuliahan sampai selesai.
8. Kedua Orang tuaku, Pakde Parman, saudara-saudaraku (Mbak Gesti, Mas Win, Mas Indra, Mas Joko, Novan, Lina, Wine, Wikri, Wildan, Winata dan Mugex) teimakasih atas dukungan dan doanya.
9. Mas Heru, thanks atas doa, dukungan, perhatian dan waktunya untuk menemaniku dalam mengerjakan Skripsi ini.
10.Sahabatku Ari, Risma, Mayonx, Agnes, Nita, Hastin, Shinta, T2k dan Paul terimakasih atas kebersamaannya selama ini.
11.Teman-teman kuliahku Rini, Tiwix, Eksi, Ika, Fenny, Bon2, Marto, Koming dan semuanya, terimakasih atas doa, dan dukungannya.
12.Almamaterku Ikom 2002. Terima kasih atas kebersamaan kita selama menempuh kuliah.
Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan. Oleh karena itu, penulis menerima masukan dan saran agar bisa berkembang dan semakin baik lagi. Semoga Skripsi ini berguna bagi para pembaca.
DAFTAR ISI
HALAMAN JUDUL... i
HALAMAN PERSETUJUAN PEMBIMBING... ii
HALAMAN PENGESAHAN... iii
HALAMAN PERSEMBAHAN... iv
PERNYATAAN KEASLIAN KARYA... v
ABSTRAK... vi
ABSTRACT... vii
KATA PENGANTAR... viii
DAFTAR ISI... x
DAFTAR GAMBAR... xii
BAB I PENDAHULUAN... 1
1.1 Latar Belakang Masalah... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 3
1.6 Sistematika Penulisan ... 3
1.7 Metodologi Penelitian ... 4
BAB II DASAR TEORI... 6
2.1 Citra... 6
a. Citra Biner ... 7
b. Warna ... 8
c. Greyscale... 9
2.3 Pengolahan Citra Digital... 11
1. Aras Titik ... 14
2. Aras Lokal... 16
3. Aras Global ... 17
4. Aras Objek ... 17
2.4 Operasi Konvolusi ... 17
2.5 Efek Emboss ... 24
2.6 Pemrograman Delphi ... 26
2.7 Adope Photoshop ... 27
2.8 Macromedia Flash Mx ... 28
BAB III ANALISIS DAN PERANCANGAN SISTEM... 29
3.1 Analisis Sistem... 29
3.1.1 Gambaran Umum Sistem ... 29
3.1.2 Analisis Kebutuhan ... 29
3.2 Perancangan Proses... 31
3.3 Perancangan Menu... 36
3.4 Perancangan Interface... 37
BAB IV IMPLEMENTASI... 41
4.1.1 Halaman Pembuka ... 41
4.1.2 Form Emboss ... 42
4.1.3 Form Matrik Warna ... 45
4.1.4 Form About ... 46
4.1.5 Form Help ... 46
4.2 Pembahasan... 47
4.2.1 Mengubah Citra Berwarna Menjadi Greyscale... 47
4.2.2 Hasil Emboss Greyscale... 48
4.2.3 Hasil Emboss Warna... 56
BAB V KESIMPULAN DAN SARAN... 66
5.1. Kesimpulan ... 66
5.2 Saran ... 67
DAFTAR PUSTAKA... 68
DAFTAR GAMBAR
Gambar 2.1 Vektor warna dalam ruang tiga dimensi ... 9
Gambar 2.2 Kubus warna RGB ... 9
Gambar 2.3 Blok diagram pengolahan citra ... 11
Gambar 2.4 Operasi aras titik pada citra digital... 15
Gambar 2.5 Operasi aras lokal pada citra digital ... 16
Gambar 2.6 Operasi aras global pada citra digital ... 17
Gambar 2.7 Ilustrasi Konvolusi ... 19
Gambar2.8 Pixel-pixel pinggir (yang tidak terarsir) tidak dikonvolusikan ... 23
Gambar 2.9 Matrik bertetangga dengan pixel (i,j) dengan matrik filter 3 x 3 .. 23
Gambar 2.10 Matrik bertetangga dengan pixel (i,j) dengan matrik filter 3 x 3 23 Gambar 2.11 Matrik bertetangga dengan pixel (i,j) dengan matrik filter 7 x 7 24 Gambar 2.12 hasil konvolusi setelah ditambah 128 ... 26
Gambar 3.1 flowchart program keseluruhan ... 32
Gambar 3.2 flowchart pilih emboss ... 33
Gambar 3.3 Flowchart Greyscale... 34
Gambar 3.4 Flowchart Proses Emboss ... 35
Gambar 4.1 Halaman pembuka... 41
Gambar 4.2 Form Emboss ... 42
Gambar 4.3 Open Picture Dialog... 43
Gambar 4.4 menampilkan gambar pada TImage foto awal ... 43
Gambar 4.5 menampilkan hasil emboss pada TImage foto hasil ... 44
Gambar 4.7 Form Matrik Warna ... 45
Gambar 4.8 Form About ... 46
Gambar 4.9 Form Help ... 46
Gambar 4.10 Citra asli dan Citra Greyscale... 48
Gambar 4.11 Hasil emboss Grey dengan jumlah elemen matrik filter < 0... 49
Gambar 4.12 Hasil emboss Grey dengan jumlah elemen matrik filter > 0... 50
Gambar 4.13 Hasil emboss Grey dengan jumlah elemen matrik filter = 0... 51
Gambar 4.14 perbandingan gambar dengan letak elemen yang berbeda... 53
Gambar 4.15 perbandingan gambar dengan nilai absolute yang berbeda ... 55
Gambar 4.16 Hasil emboss greycale... 56
Gambar 4.17 Hasil emboss warna dengan jumlah elemen matrik filter < 0... 58
Gambar 4.18 Hasil emboss warna dengan jumlah elemen matrik filter = 0... 59
Gambar 4.19 Hasil emboss warna dengan jumlah elemen matrik filter > 0... 60
Gambar 4.20 Perbandingan gambar dengan letak elemen yang berbeda ... 61
Gambar 4.21 Perbandingan gambar dengan nilai absolute yang berbeda ... 64
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Pada akhir abad ke 20 ilmu dan teknologi berkembang semakin pesat, termasuk di dalamnya teknik komputer. Komputer pada awalnya digunakan sebagai alat bantu untuk mempercepat proses menghitung. Dalam perkembangan selanjutnya, komputer dapat digunakan sebagai pengolah informasi yang datanya tidak hanya berupa angka saja, tapi dapat berupa teks, gambar, audio (bunyi, suara, musik), dan video. Salah satu perangkat lunak yang berkembang saat ini adalah perangkat lunak untuk pengolahan citra, yang juga didukung dengan kemajuan teknologi optik dan digital. Aplikasi yang tersedia untuk membantu proses pengolahan citra antara lain seperti : paint, photoshop, coreldraw, dan masih banyak lagi.
Salah satu efek penajaman fitur yang dapat diberikan pada suatu citra adalah dengan memberikan efek emboss. Pemberian efek emboss pada sebuah citra ini akan mengakibatkan sebagian obyek citra terlihat lebih dekat atau jauh dari citra latarnya, sehingga dapat bermanfat bagi pemahat atau pelukis. Selain itu emboss yang dihasilkan juga dapat mempunyai nilai estetika, yaitu dengan menampilkan sisi lain dari citra awal.
1.2. Rumusan Masalah
Berangkat dari pemikiran tersebut di atas maka rumusan masalah yang diangkat dalam tugas akhir ini adalah “Bagaimana memberikan atau menambahkan efek emboss pada sebuah citra“.
1.3 Batasan Masalah
Untuk menghindari pembahasan yang terlalu luas maka perlu batasan-batasan masalah antara lain :
• Program ini menerima input berupa file citra berwarna dengan format BMP
• Ukuran gambar yang digunakan sebagai input dan output :
• Matrik konvolusi berukuran 3 x 3, 5 x 5 dan 7 x 7
• Hasil disimpan dalam format BMP
1.4 Tujuan Penelitian
Adapun tujuan penelitian antara lain:
1. Dapat memahami konsep matrik konvolusi pada suatu citra.
2. Memperluas pengetahuan bahwa sebuah citra (image) digital dapat diolah menjadi beragam bentuk dengan berbagai metode salah satunya metode emboss.
1.5 Manfaat Penelitian
1. Citra yang dihasilkan dari pemberian efek emboss dapat menghasilkan nilai estetika.
2. Dapat memudahkan para pemahat dalam membuat seketsa ukiran yang ingin dihasilkan.
1.6 Sistematika Penulisan
Bahasan secara keseluruhan dari tugas akhir ini dibagi menjadi lima bab, yaitu :
BAB I PENDAHULUAN
Bab ini merupakan pendahuluan yang berisi latar belakang, rumusan masalah, batasan masalah, manfaat dan tujuan dan sistematika penulisan, serta metodologi penelitian.
BAB II DASAR TEORI
BAB III ANALISA DAN PERANCANGAN
Bab ini berisi analisa pembahasan dan perancangan mengenai penggunaan matrik konvolusi yang dapat digunakan untuk efek emboss.
BAB IV IMLEMENTASI PROGRAM
Bab ini berisi implementasi dan hasil yang didapat dari penulisan dan juga pembahasan penulisan tersebut.
BAB V PENUTUP
Bab ini berisi kesimpulan dan saran yang berguna dari hasil pembahasan.
1.7 Metodologi Penelitian
Dalam membangun sistem ini penulis menggunakan metode SDLC (Software Development Life Cycle) yang meliputi tahap-tahap anatara lain: 1. Analisis (Analysis)
Tahap ini mengidentifikasikan suatu kebutuhan dan mengumpulkan data yang diperlukan sesuai dengan kebutuhan sistem yang akan dibangun.
Menganalisa data dengan menggunakan metode yaitu :
•Mengidentifikasikan masalah yang ada.
•Gambaran dari sistem yang akan dibangun.
2. Perancangan sistem
Perancangan sistem ini dibuat berdasarkan analisa yang telah dibuat yaitu,meliputi:
• Perancangan proses
Menentukan matrik yang akan digunakan dalam proses emboss, menghitung matrik suatu citra dengan cara menentukan matrik konvolusinya.
• Perancangan antar muka pemakai (user interface). – Perancangan struktur menu
– Perancangan halaman utama
– Perancangan tampilan menu setiap data masing-masing 3. Coding
Hasil dari rancangan diterjemahkan dalam bahasa pemrograman yang bisa dibaca oleh mesin dan hasil pemrograman tersebut dapat memperoleh output dan digunakan oleh pengguna.
4. Testing
Dalam tahap ini fokus pada pengujian program. Uji coba ini dilakukan untuk mencari kesalahan dengan jalan mengeksekusi program, selain itu juga untuk menjamin kualitas dari sistem tersebut. 5. Perbaikan/Revisi
BAB II
DASAR TEORI
2.1 CITRA
Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra (Munir,R. 2004). Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat: 1. Optik berupa foto.
2. Analog berupa sinyal video seperti gambar pada monitor televisi. 3. Digital yang dapat langsung disimpan pada suatu pita magnetik. Citra dibagi menjadi dua jenis yaitu:
1. Citra diam (still images)
Adalah citra tunggal yang tidak bergerak. Untuk selanjutnya, citra diam kita sebut citra saja.
2. Citra bergerak (moving images)
Gambar-gambar yang tampak pada film layar lebar atau televisi pada hakikatnya terdiri atas ratusan sampai ribuan frame.
Citra yang dimaksud penulis dalam tulisan skripsi ini adalah “citra diam” (still images).
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja semacam ini menjadi lebih sulit diintepretasikan karena informasi yang disampaikan oleh citra tersebut menjadi berkurang.
Agar citra yang mengalami gangguan mudah diinterpretasikan (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing).
2.2 Format Citra
Format citra terdiri dari 3 yaitu citra biner, warna dan greyscale:
a. Citra Biner
label barang, citra hasil pemindaian dokumen teks, dan sebagainya. Karena hanya mempunyai dua nilai derajat keabuan: hitam dan putih, pixel-pixel objek bernilai 1 dan pixel-pixel latar belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih dan 1 adalah hitam. Jadi, pada citra biner, latar belakang berwarna putih sedangkan objek berwarna hitam.
b. Warna
Persepsi visual citra berwarna (color image) umumnya lebih kaya dibandingkan dengan citra hitam putih, karena itu citra berwarna lebih disenangi daripada citra hitam putih. Warna-warna yang diterima oleh mata manusia merupakan hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang warna paling lebar adalah red (R), green (G), dan blue (B). Ketiga warna tersebut dinamakan warna pokok (primaries), dan sering disingkat sebagai warna dasar RGB. Warna-warna lain dapat diperoleh dengan mencampurkan ketiga warna pokok tersebut dengan perbandingan tertentu (meskipun tidak sepenuhnya benar, karena tidak semua kemungkinan warna dapat dihasilkan dengan kombinasi RGB saja).
warna dasar yaitu Red, Green, dan Blue (RGB) ini memungkinkan sebuah citra mempunyai total 256 * 256 * 256 = 16,8 juta warna berbeda.
Gambar 2.1 Vektor warna dalam ruang tiga dimensi
c. Greyscale
Citra greyscale dengan mudah dapat dihasilkan dari citra warna RGB dengan mengambil nilai rata-rata dari ketiga komponen warna pokok merah, hijau, dan biru, seperti terlihat pada gambar 2.2 berikut:
Pada gambar tersebut terlihat bahwa warna hitam diwakili oleh koordinat ruang (0,0,0) yang berarti intensitas semua warna pokok adalah nol persen dan warna putih oleh koordinat (1,1,1) yang berarti semua warna pokok berintensitas 100% karena nilai satu adalah maksimum untuk skala yang dinormalkan pada kubus tersebut. Bila semua warna pokok mempunyai intensitas yang sama dan berada diantara 0 dan 1, maka yang tampak adalah warna abu-abu.
Karena ketiga warna pokok tersebut dianggap tidak seragam dalam hal kemampuan kontribusi pada kecerahan, ada yang berpendapat bahwa cara konversi yang lebih tepat adalah menggunakan persamaan berikut (Ahmad, 2005).:
Y = 0.299R + 0.587G + 0.114B ………..persamaan 2.1
dimana Y = Nilai kecerahan pada citra abu-abu.
R = Nilai merah dari sebuah gambar berwarna (satuan = pixel) G = Nilai hijau dari sebuah gambar berwarna (satuan = pixel) B = Nilai biru dari sebuah gambar berwarna (satuan = pixel)
2.3 Pengolahan Citra Digital
menggambarkannya seperti blok diagram pada gambar berikut (Rianto Sigit, dkk. 2005) :
Gambar 2.3 Blok diagram pengolahan citra
Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas yang lebih baik daripada citra masukan.
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila:
1. Perbaikan atau modifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.
2. Elemen di dalam citra perlu dikelompokkan, dicocokkan atau diukur. 3. Sebagian citra perlu digabung dengan bagian citra yang lain.
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak ragamnya. Namun secara umum, operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis sebagai berikut;
1. Perbaikan kualitas citra (image enchancement).
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang terdapat di dalam citra lebih ditonjolkan.
Gambar
Asli
Proses
Filter
Contoh-contoh operasi perbaikan citra: a. Perbaikan kontras gelap/terang
b. Perbaikan tepian objek (edge enhancement) c. Penajaman (sharpening)
d. Pemberian warna semu (pseudocoloring) e. Penapisan derau (noise filtering)
2. Pemugaran citra (image restoration).
Operasi ini bertujuan menghilangkan/meminimalkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra: a. Penghilangan kesamaran (debluring) b. Penghilangan derau (noise)
3. Pemampatan citra (image compression)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan citra adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus.
4. Segmentasi citra (image segmentation)
berkaitan erat dengan pengenalan pola. 5. Pengorakan citra (image analysis)
Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.
Contoh-contoh operasi pengorakan citra: a. Pendeteksian tepi (edge detection) b. Ekstraksi batas (boundary)
c. Representasi daerah (region) d. Pemberian efekemboss
6. Rekonstruksi citra (image reconstruction)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis. Misalnya beberapa foto rontgen dengan sinar X digunakan untuk membentuk ulang gambar organ tubuh.
dimensi ukurannya dinyatakan sebagai tinggi x lebar (atau lebar x panjang). Citra digital yang tingginya N, lebarnya M, dan memiliki L derajat keabuan dapat dianggap sebagai fungsi:
0 ≤χ≤M
ƒ(χ,y) 0 ≤χ≤N 0 ≤χ≤L
Citra digital yang berukuran N x M lazim dinyatakan dengan matrik yang berukuran N baris dan M kolom sebagai berikut:
ƒ(0,0) ƒ(0,1) ... ƒ(0,M) ƒ(x,y) ≈ ƒ(1,0) ƒ(1,1) ... ƒ(1,M)
: : : :
ƒ(N – 1,0) ƒ(N – 1,1) ... ƒ(N – 1,M -1)
Indeks baris (x) dan indeks kolom (y) menyatakan suatu koordinat titik pada citra, sedangkan ƒ(x, y) merupakan intensitas (derajat keabuan) pada titik (x, y).
Operasi pada citra digital pada dasarnya adalah memanipulasi elemen-elemen matrik. Elemen matrik yang dimanipulasi dapat berupa elemen tunggal (sebuah pixel), sekumpulan elemen yang berdekatan, atau keseluruhan elemen matrik. Operasi-operasi yang dilakukan pada pengolahan citra dapat dikelompokkan kedalam empat aras (level) komputasi yaitu:
1. Aras Titik
ini terdiri dari pengaksesean pixel pada lokasi yang diberikan, memodifikasinya dengan operasi-operasi lanjar (linear) atau nirlanjar (nonlinear), dan menempatkan nilai pixel baru pada lokasi yang bersesuaian di dalam citra yang baru. Operasi ini diulang untuk keseluruhan pixel di dalam citra. Secara matematis, operasi pada aras titik dinyatakan sebagai:
ƒB(x, y) = Otitik{ƒA(x, y)}
yang dalam hal ini ƒA dan ƒB masing-masing adalah citra masukan dan
citra keluaran. Otitik dapat berupa operasi lanjar (linear) atau nirlanjar (nonlinear). Yang dimaksud dengan operasi lanjar adalah operasi yang dapat dinyatakan secara matematis sebagai persamaan lanjar, kebalikannya adalah persamaan nirlanjar.
Gambar 2.4 Operasi aras titik pada citra digital
Operasi pada aras titik dapat dibagi menjadi tiga macam: berdasarkan intensitas, berdasarkan geometri, atau gabungan keduanya.
a. Berdasarkan intensitas.
Nilai intensitas u suatu pixel diubah dengan transformasi h menjadi nilai intensitas baru v:
v = h(u), u, vЄ [0, L]
b. Beradasarkan geometri.
Posisi pixel diubah ke posisi yang baru, sedangkan intensitasnya tidak berubah. Contoh operasi titik berdasarkan geometri misalnya pemutaran (rotasi), pergeseran (translasi), penskalaan (dilatasi).
c. Gabungan intensitas dan geometri.
Operasi ini tidak hanya mengubah nilai intensitas pixel, tapi juga mengubah posisinya. Misalnya image morphing, yaitu perubahan bentuk objek beserta nilai intensitasnya.
2. Aras Lokal
Operasi pada aras lokal menghasilkan citra keluaran dimana intensitas suatu pixel bergantung pada intensitas pixel-pixel tetangganya.
ƒB(x, y)’ = Olokal{ƒA(xi, yj); (xi, yj) ЄN (x, y) }
(keterangan: N = neighborhood, yaitu pixel-pixel yang berada di sekitar (x , y) ).
Gambar 2.5 Operasi aras lokal pada citra digital
Olokal{f(x,y),(xi, yi) pixel di
3. Aras Global
Operasi pada aras global menghasilkan citra keluaran yang intensitas suatu pixel bergabung pada intensitas keseluruhan pixel.
ƒB(x, y)’ = Oglobal{ƒA(x, y)}
Gambar 2.6 Operasi aras global pada citra digital
4. Aras Objek
Operasi jenis ini hanya dilakukan pada objek tertentu di dalam citra. Tujuan dari operasi pada aras objek adalah untuk mengenali objek tersebut, misalnya dengan menghitung rata-rata intensitas, ukuran, bentuk, dan karakteristik lain dari objek.
2.4 Operasi Konvolusi
Operasi konvolusi merupakan operasi matematika yang mengalikan secara bersama-sama dua array yang berbeda ukuran namun memiliki dimensi yang sama. Untuk mendapatkan efek emboss ktia dapat mengunakan operasi konvolusi. Konvolusi digunakan untuk mencari nilai pixel dengan cara menghitung nilai pixel tetangganya. Dalam proses
konvolusi dikenal juga nantinya istilah matrik filter, misalnya seperti matrik filter yang berukuran 3x3 dibawah ini :
a b c h ( i , j ) e f g h i j
Operasi konvolusi dinyatakan dengan rumus sebagai berikut (http://www.gamedev.net/reference/programing/features/imagepror/page2 asp).
Persamaan 2.2
Y [ r,c] = nilai pixel setelah dilakukan proses konvolusi
i = posisi di elemen-elemen matrik filter pada sumbu x (baris) j = posisi dari elemen-elemen matrik filter pada sumbu y (kolom) h (i,j) = matrik filter
M = lebar atau panjang matrik filter r = row (baris)
c = colom (kolom)
Operasi konvolusi dapat diilustrasikan sebagai berikut:
P1 P2 P3 P4 P5 P6
P7 P8 P9
Filter
Citra
Gambar 2.7 Ilustrasi Konvolusi
Dari hasil ilustrasi konvolusi tersebut maka didapatkan :
Ap1 + B p2 + C p3 + D p4 + E p5 + F p6 + G p7 + H p8 + I p9 y(r,c) =
A + B + C + D + E + F + G + H + I
Contoh penggunaan operasi konvolusi
Misalkan citra f (x,y) yang berukuran 5 x 5 dan sebuah filter yang berukuran 3 x 3 masing- masing adalah sebagai berikut:
40 45 30 15 45
60 20 25 15 20 0 0 1 F(x,y) = 35 45 30 25 20 filter = 0 -2 0 25 15 50 45 30 0 0 2 35 25 20 55 60
Dapat diilustrasikan sebagai berikut:
1. Tempatkan filter pada sudut kiri atas, kemudian hitung nilai pixel pada posisi (0,0) dari filter.
A B C D E F G H I
Hasil konvolusi = 20. nilai ini dihitung dengan cara sebagai berikut: (40.0+45.0+30.1+60.0+20.(-2)+25.0+35.0+45.0+30.2)
((0+0+30+0+(-40)+0+0+0+60)/1) = 50
2. Geser filter satu pixel ke kanan, kemudian hitung nilai pixel pada posisi (0,0) dari filter.
Hasil konvolusi = 0. nilai ini dihitung dengan cara sebagai berikut: ((0+0+15+0+(-50)+0+0+0+50)/1) =15
3. Geser filter satu pixel ke kanan, kemudian hitung nilai pixel pada posisi (0,0) dari filter.
Hasil konvolusi = 10. nilai ini dihitung dengan cara sebagai berikut: ((0+0+45+0+(-30)+0+0+0+40)/1) = 55
4. Selanjutnya, geser filter satu pixel ke bawah, lalu mulai lagi melakukan konvolusi dari sisi kiri citra. Setiap konvolusi, geser filter satu pixel kekanan.
Hasil konvolusi = 10. nilai ini dihitung dengan cara sebagai berikut: ((0+0+25+0+(-90)+0+0+0+100)/1) =35
5. Geser filter satu pixel ke kanan, kemudian hitung nilai pixel pada posisi (0,0) dari filter.
Hasil konvolusi =30 nilai ini dihitung dengan cara sebagai berikut: ((0+0+15+0+(-60)+0+0+0+90)/1) =45
Hasil konvolusi = 138.nilai ini dihitung dengan cara sebagai berikut: ((0+0+20+0+(-50)+0+0+0+60)/1) =30
Dengan cara yang sama seperti di atas, maka pixel-pixel pada baris ketiga dikonvolusikan sehingga menghasilkan:
Masalah timbul ketika bila pixel yang dikonvolusikan adalah pixel pinggir (border), karena beberapa koefisien konvolusi tidak dapat diposisikan pada pixel-pixel citra, seperti contoh:
Masalah seperti ini selalu terjadi pada pixel-pixel pinggir kiri, kanan, atas dan bawah. Penyelesaian untuk masalah ini adalah :
1. Pixel-pixel pinggir diabaikan, tidak di-konvolusi
2. Duplikasi elemen citra. Diisikan sesuai dengan nilai yang ada pada elemen tersebut.
3. Elemen yang ditandai dengan “?” diasumsikan bernilai 0 atau konstanta lain, sehingga konvolusi pixel-pixel pinggir dapat dilakukan.
Gambar 2.8 Pixel-pixel pinggir (yang tidak terarsir) tidak dikonvolusikan
Algoritma konvolusi citra N x M dengan filter yang berukuran 3x3, 5x 5 dan 7x7. Pixel yang dikonvolusikan adalah elemen (i,j). delapan buah pixel yang bertetangga dengan pixel (i,j) adalah sbb:
i-1,j-1 i-1,j i-1,j+1 i,j-1 i,j i,j+1 i+1,j+1 i+1,j i+1,j+1
Gambar 2.9 Matrik bertetangga dengan pixel (i,j) dengan matrik filter 3 x 3
i-2,j-2 i-2,j-1 i-2,j i-2,j+1 i-2,j+2
i-1,j-2 i-1,j-1 i-1,j i-1,j+1 i-1,j+2
i,j-2 i,j-1 i,j i,j+1 i,j+2
i+1,j-2 i+1,j-1 i+1,j i+1,j+1 i+1,j+2
i+2,j-2 i+2,j-1 i+2,j i+2,j+1 i+2,j+2
i-3,j-3 i-3,j-2 i-3,j-1 i-3,j i-3,j+1 i-3,j+2 i-3,j+3
i-2,j-3 i-2,j-2 i-2,j-1 i-2,j i-2,j+1 i-2,j+2 i-2,j+3
i-1,j-3 i-1,j-2 i-1,j-1 i-1,j i-1,j+1 i-1,j+2 i-1,j+3
i,j-3 i,j-2 i,j-1 i,j i,j+1 i,j+2 i,j+3
i+1,j-3 i+1,j-2 i+1,j-1 i+1,j i+1,j+1 i+1,j+2 i+1,j+3
i+2,j-3 i+2,j-2 i+2,j-1 i+2,j i+2,j+1 i+2,j+2 i+2,j+3
i+3,j-3 i+3,j-2 i+3,j-1 i+3,j i+3,j+1 i+3,j+2 i+3,j+3
Gambar 2.11 Matrik bertetangga dengan pixel (i,j) dengan matrik filter 7 x 7
2.5 Efek Emboss
dikalikan juga dengan matrik yang mengelilingi nilai tengah dari matrik pengkonvolusi (filter) tersebut. Setelah proses konvolusi selesai maka hasil dari konvolusi tersebut akan dijumlah sehingga menghasilkan angka citra warna yang baru. Untuk tepi citra tidak dimungkinkan adanya proses emboss, hal ini dikarenakan tidak adanya atau tidak lengkapnya nilai warna yang mengelilingi warna dari tepi citra tersebut. Walaupun nantinya akan didapat juga hasil yang baru pada tepi citra, namun secara teori konvolusi/ emboss hal tersebut tidaklah dimungkinkan, hal ini disebabkan warna-warna yang berada ditepi citra akan digunakan sebagai border saja karena ukurannya yang kecil.
Aturan-aturan untuk mendapatkan hasil emboss yaitu:
• Apabila elemen-elemen matrik filter dijumlahkan dan hasilnya adalah 0 (nol), maka nilai 0 tersebut akan diubah menjadi 1
0
Penggambaran rumus tersebut didapat dengan alasan apabila jumlah
∑
h atau hasil penjumlahan seluruh elemen matrik filter
sama dengan 0 tidak diganti maka nilai warna yang dicari tidak akan ditemukan (1/0 = not define)
• Setelah nilai tersebut ditambah dengan 128, maka apabila diperoleh nilai baru yang kurang dari 0 maka dianggap sebagai 0, sedangkan nilai yang melebihi 255 akan dibulatkan menjadi 255.
X<0 maka X=0,
X>= 255 maka X=255.
Gambar 2.12 hasil konvolusi setelah ditambah 128
2.6 Pemrograman Delphi
Borland Delphi atau yang biasa disebut Delphi saja, merupakan sarana pemrograman aplikasi visual. Delphi merupakan generasi penerus dari Turbo Pascal. Turbo Pascal yang diluncurkan pada tahun 1983 dirancang untuk dijalankan pada sistem operasi DOS (yang merupakan sistem operasi yang paling banyak digunakan pada saat itu). Sedangkan Delphi yang diluncurkan pertama kali tahun 1995 dirancang untuk beroperasi di bawah sistem operasi Windows.
Delphi memiliki sarana yang tangguh untuk membuat aplikasi mulai dari sarana untuk membuat form, menu, toolbar, hingga kemampuan untuk menangani pengelolaan basis data yang besar. Kelebihan–kelebihan yang dimiliki Delphi antara lain karena pada Delphi, form dan komponen-komponenya dapat dipakai ulang dan dikembangkan, mampu mengakses
VBX, tersedia template aplikasi dan templete form, memiliki lingkungan pengembangan visual yang diatur sesuai kebutuhan, menghasilkan file terkompilasi yang berjalan lebih cepat, serta kemampuan mengakses data dari bermacam-macam format.
Untuk pengembangan aplikasi pengolahan citra, Delphi menyediakan fasilitas-fasilitas yang dapat memudahkan pembuat program. Misalnya: open picture dialog (membuka gambar), image (untuk menampilkan gambar), dan perintah-perintah lain yang mudah dikenali oleh bahasa pemrograman Borland Delphi. Selain itu, hasil program yang jelas akan langsung menghasilkan sebuah EXE file sehingga dapat memudahkan dalam pemakaian program.
2.7 Adobe Photoshop
Adobe Photoshop adalah sebuah aplikasi yang di desain khusus untuk memperoleh data bitmap dengan mendukung 32 format bitmap yang ada seperti *.BMP, *.GIF dan masih banyak lainnya yang semua dapat kita manipulasi dengan menggunakan software ini. Penggunaan metode layer pada software ini menjadi kekuatan tersendiri dengan pesaing-pesaing software sejenis seperti Corel Draw, Image Lopuser, sehingga para grapichs design banyak menggunakan software ini sebagai alat bantu kerja mereka.
2.8 Macromedia Flash Mx
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan menjelaskan tentang analisis serta konsep perancangan umum program penggunaan matrik konvolusi untuk efekemboss pada suatu citra.
3.1 Analisis Sistem
3.1.1 Gambaran Umum Sistem
Sistem yang akan dibangun ini adalah suatu program untuk mengubah citra asli, menjadi suatu citra hasil dimana citra hasil sudah ditambah dengan efek emboss. Efek emboss yang dihasilkan didapatkan dengan cara mengalikan matrik filter dengan matrik dari citra asli (proses ini dikenal dengan proses konvolusi). Operasi konvolusi dapat dilakukan dengan pilihan ukuran matrik filter yaitu 3x3, 5x5 dan7x7, dimana setiap elemen dari matrik filter dapat diubah sesuai dengan keinginan. Selain itu dalam program ini dapat menampilkan perbandingan matrik dari citra sebelum dilakukan emboss dan matrik citra setelah dilakukan proses emboss.
3.1.2 Analisis Kebutuhan
Kebutuhan tersebut dapat diidentifikasi dari beberapa sisi, yaitu:
1. Hardware yang digunakan untuk membangun sistem antara lain : a. Seperangkat komputer:
• AMD Athlon
• RAM 512 MB
• Hard Disk 80GB
• VGA 64 MB
• Monitor SVGA
• Keyboard
• Mouse b. Alat bantu:
• Scanner
• Kamera digital
Hardware dan software minimum yang dibutuhkan untuk menjalankan sistem adalah :
• Prosesor Pentium II
• RAM 32MB
• Hard Disk 20GB
• VGA 4MB
• Monitor SVGA
• Keyboard
2. Software yang dibutuhkan untuk membangun sistem antara lain :
• Sistem operasi Windows
• Program Delphi 7.0
• Program Maceomedia Flash Mx
• Adobe Photoshop 7.0
3. Kebutuhan akan data yaitu berupa file citra berwarna.
3.2 Perancangan Proses
Sebelum memasuki tahap pembuatan program, terlebih dahulu harus dilakukan perancangan proses. Perancangan proses ini dapat berupa pembuatan algoritma dan flowchart program.
Algoritma adalah suatu langkah-langkah untuk menyelesaikan suatu masalah (Budi Sutejo, S.Kom, 2003). Berikut adalah beberapa algoritma untuk menyelesaikan program ::
1. Masukkan citra asli dimana citra yang digunakan adalah citra yang berformat .bmp
2. Pilih ukuran matrik filter. Terdapat 3 pilihan ukuran matrik filter yaitu 3 x 3, 5 x 5 dan 7 x 7
3. Masukkan nilai elemen matrik filter
5. Lakukan proses emboss 6. Tampilkan citra hasil emboss
Dari tahapan algoritma di atas dapat digambarkan flowchart program, seperti dibawah ini :
Gambar 3.1 flowchart program keseluruhan
Pada flowchart di atas terdapat proses pilih emboss, dimana dalam proses tersebut terdapat tahapan-tahapan proses yang dapat dituliskan dengan algoritma dibawah ini :
1. Baca proses emboss yang akan dilakukan.
2. Ada 2 pilihan proses emboss yaitu emboss greyscale dan emboss warna. Apabila memilih emboss greyscale, program akan langsung
Pilih proses emboss yang akan dilakukan
Lakukan proses emboss
Selesai Masukkan citra asli
Masukkan nilai elemen matrik filter
Tampilkan citra hasil emboss
mengubah citra masukkan menjadi greyscale. Sedangkan apabila memilih emboss warna citra akan langsung diproses menjadi emboss.
Gambar 3.2 flowchart pilih proses emboss
Berikut adalah algoritma yang digunakan untuk mendapatkan nilai greyscale dari citra yang akan diproses :
1. Baca citra masukan (berupa citra yang berwarna). 2. Definisikan ukuran citra
3. Baca nilai RGB dari citra, untuk mengetahui nilai Red, Green dan Blue dari tiap pixel citra masukan
4. Hitung greyscale dengan rumus
Y = 0.299R + 0.587G + 0.114B
5. Citra hasil greyscale
If pilih = gray
proses grayscale
selesai
tidak
ya
emboss = warna
proses emboss baca masukan pilihan
Berikut ini merupakan flowchart program untuk proses greyscale :
Gambar 3.3 Flowchart Greyscale
Setelah memilih proses emboss, maka akan dilanjutkan dengan perhitungan untuk mendapatkan hasil emboss. Tahapan-tahapannya sebagai berikut.
1. Lakukan proses konvolusi:
– Hitung jumlah elemen matrik filter, jika jumlah matrik filter = 0, maka akan diubah menjadi 1
– Menjumlahkan perkalian tiap pixel matrik citra awal dengan elemen matrk filter
Mulai
Selesai
Y = 0.299R + 0.587G + 0.114B
Citra hasil Baca citra masukan
Baca ukuran citra
– Hasil konvolusi didapat dengan membagi penjumlahan matrik tersebut dengan jumlah matrik filter.
2. Hitung nilai embossdengan menambahkan tiap pixel matrik citra hasil konvolusi dengan 128 untuk mendapatkan hasil yang lebih cerah. – Jika hasil emboss pada tiap pixel ada yang kurang dari 0, maka
hasil emboss tiap pixel tersebut diubah menjadi 0
– Jika hasil emboss pada tiap pixel ada yang lebih dari 0, maka hasil emboss tiap pixel tersebut diubah menjadi 255
Dari tahapan algoritma diatas dapat digambarkan flowchart program untuk proses emboss, seperti dibawah ini :
3.3 Perancangan Menu
Dalam perancangan menu yang akan dibuat, terdapat beberapa pilihan menu yang tersedia di Form Utama. Rancangan bagan struktur menu yang tersedia di Form Utama antara lain :
File Emboss View About Help Open Emboss Grayscale Matrik Warna About Me Help Save Emboss Warna
Exit
• Pada menu File terdiri dari :
1. Open, untuk membuka atau menampilkan gambar (image) yang akan diproses selanjutnya
2. Save, untuk menyimpan gambar (image) setelah proses 3. Exit, keluar dari program utama
• Pada menu Emboss terdapat 2 Proses emboss yang berfungsi untuk menambahkan efek embosspada gambar (image)sebelumnya.
1. Emboss Greyscale.
Dalam proses ini citra awal (yang berupa citra warna) diubah terlebih dahulu ke bentuk greyscale dan kemudian dilakukan proses emboss.
2. Emboss warna
• Pada menu View –> Matrik Warna, memanggil Form View
• Pada menu About –> About Me, memanggil Form About
• Pada menu Help –> Help, memanggil Form Help
3.4 Perancangan Interface
Terdapat beberapa perancangan interface yang akan dibuat antara lain:
Halaman pembuka
Halaman pembuka merupakan tampillan awal sebelum memasuki program utama. Dalam halaman pembuka ini terdapat judul, logo Sanata Dharma dan nama pembuat.
Perancangan Form Utama
LOGO
Dalam form utama ini terdapat 3 pilihan ukuran matrik (matrik filter) yaitu : 3x3, 5x5 dan 7x7. Komponen atau elemen dari matrik filter tersebut dapat diisi sesuai dengan keinginan, tetapi harus menggunakan aturan emboss yang ada.
Perancangan Form View
dasar Red, Green dan Blue. Tombol CLOSE digunakan untuk menutup form View dan kembali ke form utama
Perancangan Form About
Dalam Form About berisi tentang profil pembuat program. Tombol CLOSE digunakan untuk menutup form About dan kembali ke form utama.
Perancangan Form Help
TEXT
Xxxxxxxxxxxxxxxxxxxxxxxx xxxxx
xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx
BAB IV
IMPLEMENTASI
Pada bab ini akan dijelaskan tentang bagaimana pengimplementasian sistem penggunaan matrik konvolusi untuk efek embosspada suatu citra.
4.1 Implementasi Hasil Program
4.1.1 Halaman Pembuka
Halaman pembuka merupakan halaman pertama saat kita masuk ke aplikasi program emboss. Untuk menuju ke Form Emboss dilakukan dengan cara mengklik halaman pembuka.
Gambar 4.1 Halaman pembuka Perintah untuk memanggil FormEmboss:
procedure TfrmDepan.FormClick(Sender: TObject); begin
4.1.2 Form Emboss
Form emboss ini merupakan form utama dimana terdapat menu pilihan yaitu File, Emboss, Matrik, About dan Help.
Gambar 4.2 Form Emboss
Dalam form emboss ini, terdapat dua animasi. Yang pertama, animasi menggunakan timer. Dalam hal ini animasi yang dibuat adalah teks berkedip (pada tulisan ‘Embossing menggunakan proses konvolusi’) dengan nilai default interval adalah 1000 (1 detik) pada method timer milik timer kode program yang diberikan:
if label1.Visible then label1.Visible:=false else label1.Visible:= true;
Animasi yang kedua, yaitu animasi menggunakan animate. Animasi ini telah disediakan oleh Delphi, dimana animasi tersebut harus berformat
Untuk memulai pengolahan citra, hendaknya file citra harus dibuka terlebih dahulu. Untuk membuka file citra, pilih menu, file → Open, sehingga keluar form Open Picture Dialog.
Gambar 4.3 Open Picture Dialog
Jika file citra telah dipilih, maka citra tersebut masuk ke dalam TImage foto awal. Hal ini dapat dilihat pada gambar 4.4
Sebelum memproses menjadi emboss, dalam form ini terdapat tiga ukuran filter matrik yaitu: 3x3, 5x5, dan 7x7. Setelah memilih salah satu dari pilihan tersebut, masukkan nilai elemen matrik yang akan diproses, sesuai dengan yang diinginkan. Terdapat dua pilihan untuk merubah citra menjadi emboss, yaitu emboss greyscale dan emboss warna. Kemudian untuk memproses menjadi emboss pilih menu Run → Emboss Grayscale atau Run → Emboss Warna .
Gambar 4.5 menampilkan hasil emboss pada TImage foto hasil
Gambar 4.6 Save Picture Dialog
4.1.3 Form Matrik Warna
Pada Form Matrik Warna berisi perbandingan matrik sebelum dan sesudah dilakukan proses emboss. Sebelum dilakukan proses emboss, terdapat pilihan matrik warna yang diinginkan sesuai dengan pilihan jenis warna yaitu : Berwarna, Grey (abu-abu) dimana masing – masing mempunyai nilai Red, Green dan Blue.
Untuk menampilkan form ini yaitu dengan memilih View→Matrik, pada form utama.
4.1.4 Form About
Pada form About berisi tentang profil pembuat program (nama, alamat serta keterangan prodi), selain itu juga terdapat profil dosen pembimbing. Cara menampilkan form ini yaitu dengan memilih menu About→About Me pada menu Utama.
Gambar 4.8 Form About
4.1.5 Form Help
Apabila user mengalami kesulitan dalam menjalankan program ini atau ingin melihat definisi dari efek emboss, user dapat melihat jendela help yang dapat ditampilkan dengan cara memilih menu Help→ Help pada menu utama.
4.2 Pembahasan
4.2.1 Mengubah Citra Berwarna Menjadi Greyscale
Sebelum melakukan proses emboss, citra masukan (citra berwarna) diubah menjadi greyscale. Hal ini bertujuan untuk memperkecil nilai matrik sehingga akan mempermudah proses perhitungan.
Berikut adalah function Grey yang digunakan untuk mengubah citra berwarna menjadi greyscale
function Grey (): TBitmap; var
x1,y1,x,y,R,G,B,Pixel:Integer; Xgambar : TBitmap;
begin
Xgambar := TBitmap.Create; Xgambar.Assign(gbr1); x1 := gbr1.Width; y1 := gbr1.Height; for x := 0 to x1-1 do for y := 0 to y1-1 do begin
R := GetRvalue(gbr1.Canvas.Pixels[x,y]); G := GetGvalue(gbr1.Canvas.Pixels[x,y]); B := GetBvalue(gbr1.Canvas.Pixels[x,y]);
Pixel := Round ((0.299*R)+(0.587*G)+(0.114*B)); Xgambar.Canvas.Pixels[x,y]:=RGB(Pixel,Pixel,Pixel); end ;
(a) Citra asli (b) Citra Greyscale Gambar 4.10 Citra asli dan Citra Greyscale
4.2.2 Hasil Emboss Greyscale
Setelah dilakukan proses konvolusi akan didapatkan hasil emboss, tetapi hasil emboss tersebut harus ditambahkan dengan 128, hal ini dimaksudkan untuk mencegah warna hasil emboss tidak terlalu gelap (hitam) karena banyaknya nilai yang berada di bawah 0 (nol)
Program untuk menghitung emboss greyscale :
if (rbMatrik1.Checked) then with sgMatrik do
for x := 1 to x1-1 do for y := 1 to y1-1 do begin
R :=(GetRValue(gbr2.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[0,0]) + GetRValue(gbr2.Canvas.Pixels[x-1,y])* StrtoInt(Cells[0,1]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[0,2]) + GetRValue(gbr2.Canvas.Pixels[x,y-1])* StrtoInt(Cells[1,0]) + GetRValue(gbr2.Canvas.Pixels[x,y])* StrtoInt(Cells[1,1]) + GetRValue(gbr2.Canvas.Pixels[x,y+1])* StrtoInt(Cells[1,2]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[2,0]) + GetRValue(gbr2.Canvas.Pixels[x+1,y])* StrtoInt(Cells[2,1]) + GetRValue(gbr2.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[2,2])) ; R:=round(R / jml + 128);
R:=0;
if R>255 then R:=255;
hslEmbs.Canvas.Pixels[x,y]:= RGB(R,R,R);
Contoh diatas untuk menghitung emboss greyscale dengan ukuran matrik filter 3 x 3, demikian halnya untuk ukuran matrik filter 5 x 5 dan 7 x 7 dapat dihasilkan dengan mengalikan tiap pixel matrik citra awal (sebelum diemboss) dengan elemen pada matrik filter.
Contoh hasil emboss Greyscale
(c) matrik filter 7x7
Gambar 4.11 Hasil emboss Grey dengan jumlah elemen matrik filter < 0
Gambar di atas merupakan perbandingan gambar hasil emboss dengan ukuran matrik filter 3x3, 5x5, dan 7x7 dimana jumlah elemen matrik filter kurang dari 0 (nol). Dari hasil tersebut dapat dilihat bahwa citra yang dihasilkan didominasi oleh warna hitam.
(a) matrik filter 3x3 (b) matrik filter 5x5
(c) matrik filter 7x7
Gambar 4.12 Hasil emboss Grey dengan jumlah elemen matrik filter > 0 Gambar di atas merupakan perbandingan gambar hasil emboss dengan ukuran matrik filter 3x3, 5x5, dan 7x7 dimana jumlah elemen matrik filter lebih dari 0 (nol).
1 0 0 0 0
0 0 0 2 0
0 0 -2 0 0
0 -1 0 0 0
-1 0 0 0 2
-1 0 -2 0 1 1 1 1 0
1 0 0 0 0 0 2
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 2 0 0 0 -1 0
0 0 0 0 0 0 0
-2 0 0 0 0 0 -1
Dari gambar di atas dapat dilihat bahwa apabila jumlah elemen matrik filter lebih dari 0 (nol) atau bernilai positif akan menghasilkan hasil emboss yang didominasi oleh warna putih.
(a) matrik filter 3x3 (b) matrik filter 5x5
(c) matrik filter 7x7
Gambar 4.13 Hasil emboss Grey dengan jumlah elemen matrik filter = 0 Gambar di atas merupakan perbandingan gambar hasil emboss dengan ukuran matrik filter 3x3, 5x5, dan 7x7 dimana jumlah elemen
2 0 1 0 1
0 0 0 0 0
-3 -2 0 -2 0
0 0 1 0 0
0 1 0 0 1
-1 0 -2
0 1 0
1 1 0
1 0 0 0 3 0 0
0 -1 0 1 0 0 -2
1 0 -1 0 0 0 0
0 0 0 0 -2 0 -2
0 3 0 1 0 0 0
-1 0 1 0 0 -2 0
matrik filter sama dengan 0 (nol). Dari gambar tersebut dapat dilihat bahwa hasil emboss yang jumlah filternya sama dengan 0 (nol) terlihat lebih baik dan jelas.
Dari perbandingan gambar di atas (4.11, 4.12 dan 4.13) dapat diketahui bahwa efek emboss juga dipengaruhi oleh besar ukuran matrik filter dan jumlah elemen pada matrik filter. Pada matrik filter berukuran 3x3 terlihat bahwa objek gambar lebih menonjol dibanding dengan gambar pada matrik filter yang berukuran 5x5 dan 7x7.
Faktor lain yang mempengaruhi hasil emboss adalah sebaran nilai matrik filter yang digunakan. Meskipun nilai elemen yang diberikan sama, tetapi dengan sebaran nilai yang berbeda maka hasil yang didapat akan berbeda. Hal ini disebabkan karena nilai pixel baru yang didapat merupakan hasil proses penjumlahan dari nilai pixel-pixel tetangga yang telah dikalikan dengan matrik filter. Dalam hal ini saya akan menguji sebaran nilai matrik filter berdasarkan letak nilai positif(+) dan negatif(-).
Perbandingan keempat sebaran nilai tersebut dapat dilihat pada gambar di bawah ini:
- +
+ - + -
(a) Matrik filter ukuran 3 x 3
-1 -1 -1 -1 -1 -3 -3 -3 -3 -3
0 0 0 0 0
3 3 3 3 3
1 1 1 1 1
1 1 1 1 1
3 3 3 3 3
0 0 0 0 0
(b) Matrik filter ukuran 5 x 5
(c) Matrik filter ukuran 7 x 7
Gambar 4.14 Perbandingan gambar dengan letak elemen yang berbeda. Selain itu hasil emboss juga dipengaruhi oleh besar nilai absolute (mengabaikan tanda negatif (-) atau positif (+)) pada setiap elemen matrik filter.Semakin besar nilai absolute maka efek emboss akan terlihat lebih tebal. Dapat dilihat pada gambar dibawah ini :
Gambar 4.15 Perbandingan gambar dengan nilai absolute yang berbeda -1 -2 -3 -4 -5 -6 0
-2 -1 -2 -3 -4 0 6
-3 -2 -1 -4 0 4 5
-4 -3 -4 0 4 3 4
-5 -4 0 4 1 2 3
-6 0 4 3 2 1 2
0 6 5 4 3 2 1
1 2 3 4 5 6 0
2 1 2 3 4 0 -6
3 2 1 4 0 -4 -5
4 3 4 0 -4 -3 -4
5 4 0 -4 -1 -2 -3
6 0 -4 -3 -2 -1 -2
Gambar 4.16 Hasil emboss greycale
4.2.3 Hasil Emboss warna
Selain emboss greyscale, program ini juga menyediakan fasilitas untuk emboss citra yang berwarna. Citra masukan (berupa citra berwarna) akan diproses langsung menjadi citra yang mempunyai efek emboss tanpa harus mengubahnya dalam bentuk greyscale.
Program untuk menghitung emboss warna:
if (rbMatrik1.Checked) then with sgMatrik do
for x := 1 to x1-1 do for y := 1 to y1-1 do begin
GetRValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[1,2]) + GetRValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[2,0]) + GetRValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[2,1]) + GetRValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[2,2])) ; G :=(GetGValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[0,0]) + GetGValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[0,1]) + GetGValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[0,2]) + GetGValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[1,0]) + GetGValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[1,1]) + GetGValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[1,2]) + GetGValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[2,0]) + GetGValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[2,1]) + GetGValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[2,2])) ; B :=(GetBValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[0,0]) + GetBValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[0,1]) + GetBValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[0,2]) + GetBValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[1,0]) + GetBValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[1,1]) + GetBValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[1,2]) + GetBValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[2,0]) + GetBValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[2,1]) + GetBValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[2,2])) ;
Contoh diatas untuk menghitung emboss warna dengan ukuran matrik filter 3 x 3, demikian halnya untuk ukuran matrik filter 5 x 5 dan 7 x 7 dapat dihasilkan dengan mengalikan tiap pixel matrik citra awal (sebelum diemboss) dengan elemen pada matrik filter.
Contoh hasil emboss warna :
(a) matrik filter 3x3 (b) matrik filter 5x5
(c) matrik filter 7x7
Gambar 4.17 Hasil emboss warna dengan jumlah elemen matrik filter < 0
1 0 0 0 0
0 1 0 0 -1
0 0 -2 0 0
0 0 0 -1 0
0 0 1 0 0
0 1 0 -1 0 0 0 0 -1
Gambar di atas merupakan gambar hasil emboss warna dimana jumlah matrik filter kurang dari 0 (nol). Hal ini menyebabkan citra hasil akan didominasi oleh warna hitam.
(c) matrik filter 7x7
Gambar 4.18 Hasil emboss warna dengan jumlah elemen matrik filter = 0
Gambar di atas merupakan gambar hasil emboss warna, dimana jumlah elemen matrik filter sama dengan 0 (nol). Gambar yang dihasilkan didominasi oleh warna abu-abu (greyscale).
(c) matrik filter 7x7
Gambar 4.19 Hasil emboss warna dengan jumlah elemen matrik filter > 0
Gambar di atas merupakan hasil emboss dengan jumlah elemen matrik filter lebih dari 0 (nol). Dari gambar tersebut terlihat bahwa gambar yang dihasilkan lebih terang dan citra warnanya lebih terlihat, dibanding jika jumlah elemen matrik filter kurang atau lebih dari 0 (nol).
Sama halnya dengan emboss greyscale, faktor lain yang mempengaruhi hasil emboss warna adalah sebaran nilai matrik filter yang
digunakan. Meskipun nilai elemen yang diberikan sama, tetapi dengan sebaran nilai yang berbeda maka hasil yang didapat akan berbeda. Hal ini disebabkan karena nilai pixel baru yang didapat merupakan hasil proses penjumlahan dari nilai pixel-pixel tetangga yang telah dikalikan dengan matrik filter. Dalam hal ini saya akan menguji sebaran nilai matrik filter berdasarkan letak nilai positif (+) dan negatif(-).
Perbandingan keempat sebaran nilai tersebut dapat dilihat pada gambar di bawah ini:
-1 -2 -3
0 0 0
2 3 4
2 3 4
0 0 0
-1 -2 -3 -
+
+ - + -
(a) Matrik filter ukuran 3 x 3
2 3 0
5 0 -4
0 -2 -3
-2 -3 0
-4 0 3
0 5 2
1 1 1 1 1
3 3 3 3 3
0 0 0 0 0
-2 -2 -2 -2 -2 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -2 -2 -2 -2 -2
0 0 0 0 0
3 3 3 3 3
(b) Matrik filter ukuran 5 x 5
-1 -1 -1 -1 -1 -1 -1
-2 -2 -2 -2 -2 -2 -2
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
3 3 3 3 3 3 3
4 4 4 4 4 4 4
-1 -1 -1 0 0
-2 -2 0 0 0
-2 0 0 0 3
0 0 0 3 3
0 0 1 1 1
1 1 1 0 0
2 2 0 0 0
2 0 0 0 -1
0 0 0 -1 -1
0 0 -1 -1 -1
2 2 2 2 2 2 2
2 2 2 2 2 2 2
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
(c) Matrik filter ukuran 7 x 7
Gambar 4.20 Perbandingan gambar dengan letak elemen yang berbeda
Selain itu, hasil emboss juga dipengaruhi oleh besar nilai absolute (mengabaikan tanda negatif (-) atau positif (+)) pada setiap elemen matrik filter. Semakin besar nilai absolute, maka efek emboss akan terlihat lebih tebal. Hal tersebut dapat dilihat pada gambar dibawah ini :
-1 -1 -2 0 0 0 0
-1 -2 0 0 0 0 0
-2 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 4
0 0 0 0 0 4 3
0 0 0 0 4 3 3
5 3 4 0 0 0 0
5 4 0 0 0 0 0
3 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 -2
0 0 0 0 0 -1 -2
0 0 0 0 -2 -2 -3
1 -1 -1 1 0
2 2 0 0 0
-1 -1 2 -1 0
0 0 0 0 0
Gambar 4.21 Perbandingan gambar dengan nilai absolute yang berbeda
Gambar 4.22 Hasil emboss warna
5 0 0 0 -2
0 5 0 -3 0
-1 0 3 0 0
0 -4 0 2 0
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil penelitian yang telah dilakukan dapat ditarik kesimpulan sebagai berikut :
1. Penerapan matrik konvolusi terhadap suatu citra ternyata mampu menghasilkan efek emboss.
2. Pada emboss greyscale, jika elemen matrik filter keseluruhan berjumlah kurang dari 0 (nol), maka hasil citra baru yang dihasilkan akan terlihat terlalu gelap. Begitu juga sebaliknya, jika elemen matrik filter berjumlah lebih besar dari 0 (nol), citra hasil akan terlihat terlalu terang atau didominasi oleh warna putih. Hasil emboss akan terlihat lebih jelas apabila jumlah elemen matrik filter sama dengan 0 dan terlihat jelas letak pengelompokan nilai elemen yang bernilai positif dan negatif. 3. Pada emboss warna jika jumlah elemen matrik filter kurang dari 0 (nol),
4. Hasil emboss dipengaruhi oleh besar kecilnya ukuran matrik filter. Semakin besar ukuran matrik filter, maka obyek utama citra akan semakin menjauh dari obyek latar citra.
5. Semakin besar nilai absolute setiap elemen matrik filter, maka efek emboss akan terlihat lebih tebal.
5.2 Saran
Untuk pengembangan dari skripsi ini perlu adanya saran antara lain : 1. Matrik filter yang digunakan tidak hanya berukuran 3 x 3, 5 x 5 atau 7x7. 2. Ukuran citra masukan dan citra hasil lebih diperbesar ukurannya.
DAFTAR PUSTAKA
Achmad, Balza dan Firdausy, Kartika (2005), Teknik Pengolahan Citra Digital menggunakan Delphi. Penerbit Ardi Publishing
Ahmad, Usman. (2005), Pengolahan Citra Digital, Penerbit Graha Ilmu, Yogyakarta.
Hakim, Lukmanul dan Mutmainah, Siti.(2003). Teknik Jitu Menguasai Flash MX. Jakarta : PT Elex Media Komputindo.
Kadir, Abdul (2002), Dasar Pemrograman Delphi 5.0. Penerbit Andi, Yogyakarta.
Munir, Rinaldi (2004), Pengolahan Citra Digital, Penerbit Informatika, Bandung. _______. (2003), Pemrograman Borlan Delphi 7.0, Kerjasama Wahana Komputer
Semarang dan Penerbit Andi Yogyakarta.
_______. (2004). Pembuatan CD Interaktif dengan Macromedia Flash MX
Professional 2004. Jakarta : Penerbit Salemba Infotek.
www.fotografer.net/isi/artikel/www.stotzka.de Portal Penggemar Fotografi.
www.gamedev.net/reference/articles/ article2007.asp An Introduction To Digital Image Processing
Source code form judul unit judul;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type
TfrmDepan = class(TForm)
procedure FormPaint(Sender: TObject); procedure FormClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private
end;
Source code form Emboss
unit emboss; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, Grids, StdCtrls, ExtCtrls, ExtDlgs, OpenPictureDialog1, OpenPictureDialog2, ComCtrls;
type
TfrmEmboss = class(TForm) imgFotoawal: TImage; imgHasil: TImage; lbMatrik: TLabel;
rbMatrik1: TRadioButton; rbMatrik2: TRadioButton; rbMatrik3: TRadioButton; sgMatrik: TStringGrid;
AboutEmboss1: TMenuItem; Help1: TMenuItem;
Help2: TMenuItem;
OpenPictureDialog1: TOpenPictureDialog2; SavePictureDialog1: TSavePictureDialog; Label1: TLabel;
Label2: TLabel;
EmbossWarna1: TMenuItem;
procedure Exit1Click(Sender: TObject); procedure Open1Click(Sender: TObject);
procedure AboutEmboss1Click(Sender: TObject); procedure Help2Click(Sender: TObject);
procedure MatrikClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure rbMatrik1Click(Sender: TObject); procedure rbMatrik2Click(Sender: TObject); procedure rbMatrik3Click(Sender: TObject); procedure Save1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Animate1Stop(Sender: TObject); procedure Run2Click(Sender: TObject);
procedure EmbossWarna1Click(Sender: TObject); private
frmEmboss: TfrmEmboss; gbr1 : TBitMap;
gbr2 : TBitMap; hslEmbs : TBitMap; implementation
uses about, help, matrik, judul; {$R *.dfm}
function Grey (): TBitmap; var
x1,y1,x,y,R,G,B,Pixel:Integer; Xgambar : TBitmap;
begin
y1 := gbr1.Height; for x := 0 to x1-1 do for y := 0 to y1-1 do begin
R := GetRvalue(gbr1.Canvas.Pixels[x,y]); G := GetGvalue(gbr1.Canvas.Pixels[x,y]); B := GetBvalue(gbr1.Canvas.Pixels[x,y]);
Pixel := Round ((0.299*R)+(0.587*G)+(0.114*B)); Xgambar.Canvas.Pixels[x,y]:=RGB(Pixel,Pixel,Pixel);
IF MessageDlg ('Yakin Anda
Keluar?',mtConfirmation,[mbYes]+[mbNo],0)=mrYes
gbr1.LoadFromFile(OpenPictureDialog1.FileName) ; imgFotoawal.Canvas.Draw( 0,0 ,gbr1);
gbr2.Assign(Grey);
procedure TfrmEmboss.MatrikClick(Sender: TObject);
sgMatrik.Height := 89; sgMatrik.RowCount :=3;
procedure TfrmEmboss.rbMatrik3Click(Sender: TObject); var
i,j : integer; begin
sgMatrik.RowCount :=7; sgMatrik.ColCount := 7;
gbr2.SaveToFile(SavePictureDialog1.FileName) ;
ShowMessage('Anda menyimpan ke File' +SavePictureDialog1.FileName); end;
end;
procedure TfrmEmboss.Timer1Timer(Sender: TObject); begin
hslEmbs := TBitmap.Create;
jml:= jml+ StrtoInt(Cells[i,j]); if jml<= 0 then
jml:=1;
// Label2.Caption:=InttoStr(jml);
x1 := gbr1.Width; y1 := gbr1.Height;
if (rbMatrik1.Checked) then with sgMatrik do
for x := 1 to x1-1 do for y := 1 to y1-1 do begin
R :=(GetRValue(gbr2.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[0,0]) + GetRValue(gbr2.Canvas.Pixels[x-1,y])* StrtoInt(Cells[0,1]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[0,2]) + GetRValue(gbr2.Canvas.Pixels[x,y-1])* StrtoInt(Cells[1,0]) + GetRValue(gbr2.Canvas.Pixels[x,y])* StrtoInt(Cells[1,1]) + GetRValue(gbr2.Canvas.Pixels[x,y+1])* StrtoInt(Cells[1,2]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[2,0]) + GetRValue(gbr2.Canvas.Pixels[x+1,y])* StrtoInt(Cells[2,1]) + GetRValue(gbr2.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[2,2])) ;
hslEmbs.Canvas.Pixels[x,y]:= RGB(R,R,R); end;
if (rbMatrik2.Checked) then with sgMatrik do
for x := 1 to x1-1 do for y := 1 to y1-1 do begin
R :=( GetRValue(gbr2.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[0,0]) + GetRValue(gbr2.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[0,1]) + GetRValue(gbr2.Canvas.Pixels[x-2,y])* StrtoInt(Cells[0,2]) + GetRValue(gbr2.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[0,3]) + GetRValue(gbr2.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[0,4]) + GetRValue(gbr2.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[1,0]) + GetRValue(gbr2.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[1,1]) + GetRValue(gbr2.Canvas.Pixels[x-1,y])* StrtoInt(Cells[1,2]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[1,3]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[1,4]) + GetRValue(gbr2.Canvas.Pixels[x,y-2])* StrtoInt(Cells[2,0]) + GetRValue(gbr2.Canvas.Pixels[x,y-1])* StrtoInt(Cells[2,1]) + GetRValue(gbr2.Canvas.Pixels[x,y])* StrtoInt(Cells[2,2]) + GetRValue(gbr2.Canvas.Pixels[x,y+1])* StrtoInt(Cells[2,3]) + GetRValue(gbr2.Canvas.Pixels[x,y+2])* StrtoInt(Cells[2,4]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[3,0]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[3,1]) + GetRValue(gbr2.Canvas.Pixels[x+1,y])* StrtoInt(Cells[3,2]) + GetRValue(gbr2.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[3,3])+ GetRValue(gbr2.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[3,4]) + GetRValue(gbr2.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[4,0]) + GetRValue(gbr2.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[4,1]) + GetRValue(gbr2.Canvas.Pixels[x+2,y])* StrtoInt(Cells[4,2]) + GetRValue(gbr2.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[4,3]) + GetRValue(gbr2.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[4,4])) ;
R:=255;
hslEmbs.Canvas.Pixels[x,y]:= RGB(R,R,R); end;
if (rbMatrik3.Checked) then with sgMatrik do
for x := 1 to x1-1 do for y := 1 to y1-1 do begin