penggunaan matrik konvolusi untuk efek emboss pada...

111
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 2007

Upload: others

Post on 06-Nov-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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 2007

Page 2: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

ii

Page 3: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

iii

Page 4: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

iv

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).

“Aku mencintai kalian semua”

Page 5: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

v

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

Leny Susilawati Anggraini

Page 6: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

vi

ABSTRAK

PENGGUNAAN MATRIK KONVOLUSI

UNTUK EFEK EMBOSS PADA SUATU CITRA

Oleh : Leny Susilawati Anggraini

Pengolahan citra dapat dilakukan untuk memperbaiki kualitas citra agar lebih indah atau mudah dikenali. Kadangkala citra yang kita temukan tampak terlihat biasa, oleh sebab itu perlu adanya penambahan atau pemberian efek pada citra tersebut. Salah satu efek yang dapat diberikan yaitu efek emboss. Efek emboss mampu memberikan ilusi efek optik dari sebuah citra dimana beberapa pixel dari sebuah objek dibuat agak lebih dekat atau lebih jauh dari background, sehingga akan sangat bermanfaat bagi para pelukis atau pemahat untuk membuat detail dari karya seninya. Sedangkan bagi orang awam, dengan memberikan efek emboss pada sebuah citra, akan didapat nilai estetika yang lebih dari citra itu, kerena pemberian efek emboss dapat menampilkan gambar lain dari citra awal. Efek emboss ini diperoleh dengan cara melakukan proses konvolusi, yaitu mengalikan matrik citra masukan dengan matrik filter.

Page 7: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

vii

ABSTRACT

THE USE OF CONVOLUTION MATRIK

TO MAKE AN EMBOSS EFFECT ON AN IMAGE

By : Leny Susilawati Anggraini

The image processing can be done to improve the image quality, which is become more striking and easy to recognized. Sometime the image we observed seem ordinary, consequently it need and effects adding in the image. One of the effects is emboss effect. This effect is able to provide the optical effect illusion of an image where some pixel from an object made closer or farther from the background. As a result, it is very useful for painters or craftsmen to make details of their work. While for the ordinary people, the emboss effects provide more aesthetical values from the image, since it can presenting different image from the initial image. This emboss effect is obtained by performing the convolution process, which is multiplying the input image matrix with the filter matrix.

Page 8: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

viii

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.

6. Bpk. Eko Hari Parmadi, S.Si., M.Kom. selaku dosen penguji

Page 9: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

ix

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.

Penulis

Page 10: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

x

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

2.2 Format Citra ................................................................................ 7

Page 11: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

xi

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 Implementasi Hasil Program....................................................... 41

Page 12: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

xii

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

LAMPIRAN.................................................................................................... 69

Page 13: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

xiii

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 724

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.6 Save Picture Dialog........................................................................ 45

Page 14: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

xiv

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

Gambar 4.22 Hasil emboss warna...................................................................... 65

Page 15: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

1

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.

Pengolahan citra dapat dilakukan untuk memperbaiki kualitas citra

sedemikian rupa agar lebih indah atau mudah dikenali. Teknik-teknik

pengolahan citra biasanya digunakan untuk melakukan transformasi dari

satu citra menjadi citra yang lain, sementara tugas perbaikan informasi

terletak pada manusia melalui penyusunan algoritmanya. Bidang ini

meliputi penajaman citra, penajaman fitur tertentu dari suatu citra,

kompresi citra dan koreksi citra yang tidak fokus atau kabur.

Page 16: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

2

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

• Program dibuat dengan menggunakan bahasa pemrograman Borland

Delphi 7

Page 17: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

3

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 ini merupakan landasan teori yang berisi antara lain :

pengertian dari efek emboss, hubungan antara matrik

konvolusi dalam proses emboss.

Page 18: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

4

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.

• Menganalisa teknologi.

Page 19: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

5

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

Setelah dilakukan testing, apabila ditemukan kesalahan pada

program maka dalam tahap ini dilakukan perbaikan atau revisi.

Page 20: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

6

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)

Adalah rangkaian citra diam yang ditampilkan secara beruntun

(sekuensial) sehngga memberi kesan pada mata kita sebagi gambar

yang bergerak. Setiap citra di dalam rangkaian itu disebut frame.

Page 21: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

7

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

Citra biner (binary image) adalah citra yang hanya mempunyai dua

nilai derajat keabuan: hitam dan putih. Meskipun saat ini citra berwarna

lebih disukai karena memberi kesan yang lebih kaya dari pada citra biner,

namun tidak membuat citra biner mati. Pada beberapa aplikasi, citra biner

masih tetap dibutuhkan, misalnya citra logo instansi (yang terdiri dari

warna hitam dan putih), citra kode batang (bar code) yang tertera pada

Page 22: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

8

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).

Dekompresi warnanya pada gambar 2.1 di bawah ditunjukkan

dengan angka dari 0 – 255. Sebagai contoh putih akan dikodekan sebagai

(RGB) = (255, 255, 255); hitam akan diketahui sebagai (RGB) = (0, 0, 0).

Dengan kata lain, sebuah citra merupakan array dua dimensi dari nilai

warna pixel yang masing – masing besarnya 3 byte pada penyajian tiga

Page 23: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

9

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:

Gambar 2.2 Kubus warna RGB

Page 24: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

10

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

Image processing atau sering disebut pengolahan citra digital

merupakan suatu proses filter gambar asli menjadi gambar lain sesuai

dengan keinginan kita. Misalnya, kita mendapatkan suatu gambar yang

terlalu gelap. Dengan image processing, kita dapat memprosesnya agar

mendapatkan gambar yang jelas. Secara garis besar, kita bisa

Page 25: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

11

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

Gambar Hasil

Page 26: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

12

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)

Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam

beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini

Page 27: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

13

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 efek emboss

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.

Agar dapat diolah dengan komputer digital, maka suatu citra harus

direpresentasikan secara numerik dengan nilai-nilai diskrit. Representasi

citra dari fungsi malar (continue) menjadi nilai-nilai diskrit disebut

digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (digital

image). Pada umumnya citra digital berbentuk empat persegi panjang, dan

Page 28: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

14

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

Operasi pada aras titik hanya dilakukan pada pixel tunggal dalam

citra. Operasi titik dikenal juga dengan nama operasi pointwise. Operasi

Page 29: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

15

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]

Otitik {f(x,y)}

Page 30: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

16

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 sekitar (x,y)}

Page 31: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

17

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

Oglobal{f(x,y)}

Page 32: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

18

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)

gx = variabel yang menunjukkan letak suatu posisi pixel suatu citra.

Page 33: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

19

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 :

A p1 + 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

Y (r,c)

Page 34: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

20

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

40 45 30 15 45 60 20 25 15 20 35 45 30 25 20 25 15 50 45 30 35 25 20 55 60

50

50 15

40 45 30 15 45 60 20 25 15 20 35 45 30 25 20 25 15 50 45 30 35 25 20 55 60

40 45 30 15 45 60 20 25 15 20 35 45 30 25 20 25 15 50 45 30 35 25 20 55 60

50 15 55

Page 35: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

21

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

6. Geser filter satu pixel ke kanan, kemudian hitung nilai pixel pada posisi

(0,0) dari filter.

40 45 30 15 45 60 20 25 15 20 35 45 30 25 20 25 15 50 45 30 35 25 20 55 60

50 15 55 35

50 15 55 35 45

40 45 30 15 45 60 20 25 15 20 35 45 30 25 20 25 15 50 45 30 35 25 20 55 60

40 45 30 15 4560 20 25 15 2035 45 30 25 2025 15 50 45 3035 25 20 55 60

50 15 55 35 45 30

Page 36: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

22

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.

50 15 55 35 45 30 40 35 50

Page 37: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

23

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

Gambar 2.10 Matrik bertetangga dengan pixel (i,j) dengan matrik filter 5 x 5

Page 38: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

24

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

Efek emboss mampu memberikan ilusi efek optik dari sebuah citra

dimana beberapa pixel dari sebuah objek dibuat agak lebih dekat atau

lebih jauh dari background, membuat sebuah 3 dimensi atau efek emboss.

Untuk mendapatkan sebuah citra baru yang merupakan pengolahan citra

asli menjadi citra atau gambar yang seolah – olah timbul pada objek, dapat

kita dapatkan dengan menkonvolusi nilai warna dari sebuah citra dengan

matrik yang bernilai ganjil misal 3x3, 5x5, 7x7 dst. Matrik tersebut

dimaksudkan karena teori dari konvolusi mewajibkan pixel–pixel yang

bisa dikonvolusi hanya pixel–pixel yang memiliki tetangga itu artinya

matrik yang digunakan untuk proses konvolusi adalah matrik–matrik yang

berukuran ganjil [http://www.catenary.com/howto/emboss.html].

Sedangkan pixel yang berada di sekitar pixel yang diemboss tersebut akan

Page 39: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

25

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),(1

0

1

0=∑∑

=

=

M

i

M

ijih maka 1),(

1

0

1

0=∑∑

=

=

M

i

M

ijih

Penggambaran rumus tersebut didapat dengan alasan apabila jumlah

∑∑−

=

=

1

0

1

0),(

M

i

M

ijih 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 baru diperoleh maka nilai tersebut nantinya akan

ditambah dengan 128, ini dimaksudkan untuk mencegah warna hasil

tidak terlalu gelap (hitam), karena banyaknya nilai yang berada

dibawah 0.

Page 40: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

26

• 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

178 143 183113 173 158168 163 178

Page 41: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

27

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.

Dengan Adobe Photoshop kita dapat dengan mudah memanipulasi

data gambar atau foto. Dalam aplikasi ini Adobe Photoshop digunakan

untuk mengatur konfigurasi warna tampilan dasar (background tampilan).

Page 42: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

28

2.8 Macromedia Flash Mx

Macromedia Flash Mx merupakan program grafis animasi yang

sangat popular dan banyak digunakan disainer grafis khususnya animasi,

bahkan menjadi program professional standar dalam pengolahan animasi

web. Dalam hal ini aplikasi Macromedia Flash Mx digunakan untuk

membuat animasi tulisan pada salah satu form dan membuat background.

Page 43: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

29

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini akan menjelaskan tentang analisis serta konsep perancangan

umum program penggunaan matrik konvolusi untuk efek emboss 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

Agar pengolahan citra dengan memberikan efek emboss dapat

digunakan seoptimal mungkin, maka perlu identifikasi kebutuhan untuk

program yang akan dibuat

Page 44: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

30

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

• Mouse

Page 45: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

31

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

4. Pilih proses emboss yang akan dilakukan. Ada 2 pilihan proses emboss

yaitu emboss greyscale dan emboss warna. Apabila memilih emboss

greyscale, program akan langsung mengubah citra masukkan menjadi

greyscale. Sedangkan apabila memilih emboss warna citra akan langsung

diproses menjadi emboss.

Page 46: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

32

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

mulai

Page 47: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

33

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 proses emboss

mulai

Page 48: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

34

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

Baca nilai RGB citra

Page 49: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

35

– Hasil konvolusi didapat dengan membagi penjumlahan matrik

tersebut dengan jumlah matrik filter.

2. Hitung nilai emboss dengan 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 :

Gambar 3.4 Flowchart Proses Emboss

Page 50: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

36

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 emboss pada 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

Dalam proses ini citra awal (yang berupa citra warna) langsung

dilakukan proses emboss tanpa harus merubahnya dalam bentuk

greyscale.

Page 51: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

37

• 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

NAMA

JUDUL

Page 52: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

38

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

Dalam form view ini menampilkan nilai matrik sebelum dan

sesudah dilakukan proses emboss. Terdapat dua pilihan tipe gambar

sebelum dilakukan proses emboss, yaitu : warna dan Grey. Pada emboss

warna terdapat tiga pilihan tipe warna yaitu Red (R), Green (G), dan Blue

(B) yang semuanya direpresentasikan dengan matrik. Setelah dilakukan

proses emboss juga terdapat matrik warna yang juga dibentuk oleh warna

Page 53: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

39

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

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

CLOSE

Page 54: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

40

Dalam form Help berisi tentang cara penggunaan dari sistem yang

akan dibuat, agar pemakai sistem dapat mengetahui cara pemakaian

sistem. Tombol CLOSE digunakan untuk menutup form Help dan kembali

ke form utama.

Page 55: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

41

BAB IV

IMPLEMENTASI

Pada bab ini akan dijelaskan tentang bagaimana pengimplementasian

sistem penggunaan matrik konvolusi untuk efek emboss pada 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 Form Emboss:

procedure TfrmDepan.FormClick(Sender: TObject); begin frmEmboss.show; end;

Page 56: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

42

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

.avi. Dalam animasi ini tulisan ‘Penggunaan Matrik Konvolusi Untuk Efek

Emboss’ dibuat menggunakan program Macromedia Flash MX 2004, yang

kemudian di Export Movie diubah menjadi format .avi

Page 57: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

43

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

Gambar 4.4 menampilkan gambar pada TImage foto awal

Page 58: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

44

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

Setelah dilakukan proses emboss, citra hasil ditampilkan di TImage foto

hasil. Apabila image hasil tersebut akan disimpan dapat dilakukan dengan

memilih menu File → Save,sehingga akan keluar form save picture seperti

pada gambar di bawah ini:

Page 59: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

45

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.

Gambar 4.7 Form Matrik Warna

Page 60: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

46

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.

Gambar 4.9 Form Help

Page 61: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

47

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 ; Grey := Xgambar; end ;

Page 62: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

48

(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); if R <0 then

Page 63: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

49

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

(a) matrik filter 3x3 (b) matrik filter 5x5

(c) matrik filter 7x7

Gambar 4.11 Hasil emboss Grey dengan jumlah elemen matrik filter < 0

1 0 0 0 0 0 0 0 -2 0 0 -1 0 0 0 0 0 0 2 0 0 -1 0 0 0

-1 0 00 1 00 0 -1

-2 0 0 0 0 0 0 0 0 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 4 0 0 0 0 -3 0 0 0 -2 0 0 0 0 0 -1 0 0 0 0 0 0 0

Page 64: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

50

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 -20 1 11 1 0

1 0 0 0 0 0 20 0 0 0 0 0 00 0 1 0 0 0 00 2 0 0 0 -1 00 0 0 0 0 0 0

-2 0 0 0 0 0 -10 0 0 0 0 0 0

Page 65: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

51

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 -20 1 01 1 0

1 0 0 0 3 0 00 -1 0 1 0 0 -21 0 -1 0 0 0 00 0 0 0 -2 0 -20 3 0 1 0 0 0

-1 0 1 0 0 -2 00 0 0 0 0 0 0

Page 66: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

52

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:

- +

+ -

+ -

-

+

Page 67: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

53

(a) Matrik filter ukuran 3 x 3

-1 -1 -1 -1 -1-3 -3 -3 -3 -30 0 0 0 03 3 3 3 31 1 1 1 1

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

Page 68: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

54

(b) Matrik filter ukuran 5 x 5

1 2 3 4 0 2 1 2 0 -1 3 2 0 -2 -3 4 0 -2 -1 -2 0 -4 -3 -2 -1

-1 -2 -3 -4 -0-2 -1 -2 0 4-3 -2 0 2 3-4 0 2 1 20 4 3 2 1

1 2 3 4 5 6 71 1 1 1 1 1 11 2 1 2 1 2 10 0 0 0 0 0 0

-1 -2 -1 -2 -1 -2 -1-1 -1 -1 -1 -1 -1 -1-1 -2 -3 -4 -5 -6 -7

-1 -2 -3 -4 -5 -6 -7-1 -1 -1 -1 -1 -1 -1-1 -2 -1 -2 -1 -2 -10 0 0 0 0 0 01 2 1 2 1 2 11 1 1 1 1 1 11 2 3 4 5 6 7

Page 69: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

55

(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 20 6 5 4 3 2 1

1 2 3 4 5 6 02 1 2 3 4 0 -63 2 1 4 0 -4 -54 3 4 0 -4 -3 -45 4 0 -4 -1 -2 -36 0 -4 -3 -2 -1 -20 -6 -5 -4 -3 -2 -1

Page 70: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

56

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 R :=(GetRValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[0,0]) + GetRValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[0,1]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[0,2]) + GetRValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[1,0]) + GetRValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[1,1]) +

Page 71: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

57

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])) ; R:=round(R / jml + 128); G:=round(G / jml + 128); B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then R:=255; if G <0 then G:=0; if G>255 then G:=255; if B <0 then B:=0; if B>255 then B:=255; hslEmbs.Canvas.Pixels[x,y]:= RGB(R,G,B);

Page 72: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

58

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 00 0 -1

0 0 -2 0 0 0 0 2 0 0 0 0 0 0 0 0 1 0 -1 0 0 1 0 0 -1 0 0 0 0 0 -1 0 0 1 0 0 1 0 0 0 0 -2 0 0 0 0 0 0 0

Page 73: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

59

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.

(a) matrik filter 3x3 (b) matrik filter 5x5

(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).

2 0 1 0 1 0 -3 0 0 0 0 -2 0 -2 0 0 0 1 0 0 0 1 0 0 1

-1 0 -2-1 0 01 1 2

0 -2 0 0 0 0 0 1 0 0 1 0 0 2 0 0 -3 0 0 0 0 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 1 0 1

Page 74: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

60

(a) matrik filter 3x3 (b) matrik filter 5x5

(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

1 0 0 0 0 0 0 2 0 0 0 0 -2 0 0 0 -1 0 0 0

-1 0 0 0 2

-1 0 -20 1 11 1 0

2 0 -1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 -1 0 -1 0 -1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 0 0 2 0 0 0 0 0 0 0

Page 75: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

61

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 -30 0 02 3 4

2 3 40 0 0

-1 -2 -3

- +

+ -

+ -

-

+

Page 76: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

62

(a) Matrik filter ukuran 3 x 3

2 3 05 0 -40 -2 -3

-2 -3 0-4 0 30 5 2

1 1 1 1 13 3 3 3 30 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 1 1 1 1 1

Page 77: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

63

(b) Matrik filter ukuran 5 x 5

-1 -1 -1 -1 -1 -1 -1-2 -2 -2 -2 -2 -2 -20 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 03 3 3 3 3 3 34 4 4 4 4 4 4

-1 -1 -1 0 0-2 -2 0 0 0-2 0 0 0 30 0 0 3 30 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 22 2 2 2 2 2 20 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0

-1 -1 -1 -1 -1 -1 -1-2 -2 -2 -2 -2 -2 -2

Page 78: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

64

(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 00 0 0 0 0 0 00 0 0 0 0 0 40 0 0 0 0 4 30 0 0 0 4 3 3

5 3 4 0 0 0 05 4 0 0 0 0 03 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 -20 0 0 0 0 -1 -20 0 0 0 -2 -2 -3

1 -1 -1 1 02 2 0 0 0

-1 -1 2 -1 00 0 0 0 00 -1 0 0 -1

Page 79: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

65

Gambar 4.21 Perbandingan gambar dengan nilai absolute yang berbeda

Gambar 4.22 Hasil emboss warna

5 0 0 0 -20 5 0 -3 0

-1 0 3 0 00 -4 0 2 0

-3 0 0 0 1

Page 80: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

66

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),

citra baru yang dihasilkan akan terlihat terlalu gelap. Jika jumlah

elemen sama dengan 0(nol) akan terlihat hasil emboss lebih jelas tetapi

warnanya lebih didominasi warna greyscale. Apabila hasil jumlah

elemen sama dengan 1, emboss warna akan terlihat tetapi juga

tergantung dari letak nilai negatif dan positifnya. Jika jumlah elemen

matrik filter lebih besar dari 1, maka citra hasil akan lebih terang atau

didominasi oleh warna putih.

Page 81: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

67

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.

3. Format citra tidak hanya berupa .bmp, dapat diperluas menjadi format

citra yang lain .

Page 82: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

68

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

www.catenary.com/howto/emboss.html How to Emboss an Image

Page 83: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

69

LAMPIRAN

Page 84: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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 { Private declarations } public { Public declarations } end; var frmDepan: TfrmDepan; implementation uses emboss; {$R *.dfm} procedure TfrmDepan.FormPaint(Sender: TObject); var Bitmap :TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.loadFromFile('D:\CNTH_FLASH\coba\depan.bmp'); Canvas.CopyMode := cmSrcAnd; Canvas.Draw(0,0,Bitmap); Bitmap.free; end; procedure TfrmDepan.FormClick(Sender: TObject); begin frmEmboss.show;

Page 85: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

end; procedure TfrmDepan.Timer1Timer(Sender: TObject); begin frmEmboss.Show; end; 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; menu: TMainMenu; File1: TMenuItem; Open1: TMenuItem; Save1: TMenuItem; N1: TMenuItem; Exit1: TMenuItem; Run1: TMenuItem; Run2: TMenuItem; View1: TMenuItem; Matrik: TMenuItem; About1: TMenuItem; AboutEmboss1: TMenuItem; Help1: TMenuItem; Help2: TMenuItem; OpenPictureDialog1: TOpenPictureDialog2; SavePictureDialog1: TSavePictureDialog; Label1: TLabel; Timer1: TTimer; Animate1: TAnimate;

Page 86: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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 { Private declarations } public { Public declarations } end; var 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 Xgambar := TBitmap.Create; Xgambar.Assign(gbr1); x1 := gbr1.Width;

Page 87: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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 ; Grey := Xgambar; end ; procedure TfrmEmboss.Exit1Click(Sender: TObject); begin IF MessageDlg ('Yakin Anda Keluar?',mtConfirmation,[mbYes]+[mbNo],0)=mrYes then application.Terminate; end; procedure TfrmEmboss.Open1Click(Sender: TObject); begin gbr1 := TBitMap.Create; gbr2 := TBitMap.Create; if OpenPictureDialog1.Execute then gbr1.LoadFromFile(OpenPictureDialog1.FileName) ; imgFotoawal.Canvas.Draw( 0,0 ,gbr1); gbr2.Assign(Grey); // imgHasil.Canvas.Draw( 0,0 ,gbr2); frmEmboss.imgFotoawal.Refresh; end; procedure TfrmEmboss.AboutEmboss1Click(Sender: TObject); begin frmAbout.show; frmEmboss.Close; end; procedure TfrmEmboss.Help2Click(Sender: TObject); begin frmHelp.show; frmEmboss.Close; end;

Page 88: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

procedure TfrmEmboss.MatrikClick(Sender: TObject); begin frmMatrik.Show; frmEmboss.Close; end; procedure TfrmEmboss.FormCreate(Sender: TObject); var Bitmap :TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.loadFromFile('D:\CNTH_FLASH\coba\utama.bmp'); Canvas.CopyMode := cmSrcAnd; Canvas.Draw(0,0,Bitmap); Bitmap.free; end; procedure TfrmEmboss.rbMatrik1Click(Sender: TObject); var i,j : integer; begin sgMatrik.Height := 89; sgMatrik.RowCount :=3; sgMatrik.ColCount := 3; with sgMatrik do for i:=0 to 2 do for j:=0 to 2 do Cells[i,j]:= '0'; end; procedure TfrmEmboss.rbMatrik2Click(Sender: TObject); var i,j : integer; begin sgMatrik.RowCount :=5; sgMatrik.ColCount := 5; sgMatrik.Height := 150; with sgMatrik do for i:=0 to 4 do for j:=0 to 4 do Cells[i,j]:= '0'; end;

Page 89: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

procedure TfrmEmboss.rbMatrik3Click(Sender: TObject); var i,j : integer; begin sgMatrik.RowCount :=7; sgMatrik.ColCount := 7; sgMatrik.Height := 150; with sgMatrik do for i:=0 to 6 do for j:=0 to 6 do Cells[i,j]:= '0'; end; procedure TfrmEmboss.Save1Click(Sender: TObject); begin if SavePictureDialog1.Execute then begin gbr2.SaveToFile(SavePictureDialog1.FileName) ; ShowMessage('Anda menyimpan ke File' +SavePictureDialog1.FileName); end; end; procedure TfrmEmboss.Timer1Timer(Sender: TObject); begin if label1.Visible then label1.Visible:=false else label1.Visible:= true; end; procedure TfrmEmboss.Animate1Stop(Sender: TObject); begin frmEmboss.close; end; procedure TfrmEmboss.Run2Click(Sender: TObject); var i,j,R : Integer; x1,y1,x,y,jml: Integer; //S : Double; begin

Page 90: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

hslEmbs := TBitmap.Create; hslEmbs.Assign(gbr2); jml:=0; with sgMatrik do for i:=0 to 6 do for j:=0 to 6 do 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])) ; R:=round(R / jml + 128); //G:=round(G / jml + 128); // B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then R:=255;

Page 91: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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:=round(R / jml + 128); //G:=round(G / jml + 128); // B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then

Page 92: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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 R :=( GetRValue(gbr2.Canvas.Pixels[x-3,y-3])* StrtoInt(Cells[0,0]) + GetRValue(gbr2.Canvas.Pixels[x-3,y-2])* StrtoInt(Cells[0,1]) + GetRValue(gbr2.Canvas.Pixels[x-3,y-1])* StrtoInt(Cells[0,2]) + GetRValue(gbr2.Canvas.Pixels[x-3,y])* StrtoInt(Cells[0,3]) + GetRValue(gbr2.Canvas.Pixels[x-3,y+1])* StrtoInt(Cells[0,4]) + GetRValue(gbr2.Canvas.Pixels[x-3,y+2])* StrtoInt(Cells[0,5]) + GetRValue(gbr2.Canvas.Pixels[x-3,y+3])* StrtoInt(Cells[0,6]) + GetRValue(gbr2.Canvas.Pixels[x-2,y-3])* StrtoInt(Cells[1,0]) + GetRValue(gbr2.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[1,1]) + GetRValue(gbr2.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[1,2]) + GetRValue(gbr2.Canvas.Pixels[x-2,y])* StrtoInt(Cells[1,3]) + GetRValue(gbr2.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[1,4]) + GetRValue(gbr2.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[1,5]) + GetRValue(gbr2.Canvas.Pixels[x-2,y+3])* StrtoInt(Cells[1,6]) + GetRValue(gbr2.Canvas.Pixels[x-1,y-3])* StrtoInt(Cells[2,0]) + GetRValue(gbr2.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[2,1]) + GetRValue(gbr2.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[2,2]) + GetRValue(gbr2.Canvas.Pixels[x-1,y])* StrtoInt(Cells[2,3]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[2,4]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[2,5]) + GetRValue(gbr2.Canvas.Pixels[x-1,y+3])* StrtoInt(Cells[2,6]) + GetRValue(gbr2.Canvas.Pixels[x,y-3])* StrtoInt(Cells[3,0]) + GetRValue(gbr2.Canvas.Pixels[x,y-2])* StrtoInt(Cells[3,1]) + GetRValue(gbr2.Canvas.Pixels[x,y-1])* StrtoInt(Cells[3,2]) + GetRValue(gbr2.Canvas.Pixels[x,y])* StrtoInt(Cells[3,3]) + GetRValue(gbr2.Canvas.Pixels[x,y+1])* StrtoInt(Cells[3,4]) + GetRValue(gbr2.Canvas.Pixels[x,y+2])* StrtoInt(Cells[3,5]) + GetRValue(gbr2.Canvas.Pixels[x,y+3])* StrtoInt(Cells[3,6]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-3])* StrtoInt(Cells[4,0]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[4,1]) + GetRValue(gbr2.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[4,2]) + GetRValue(gbr2.Canvas.Pixels[x+1,y])* StrtoInt(Cells[4,3]) +

Page 93: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

GetRValue(gbr2.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[4,4])+ GetRValue(gbr2.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[4,5]) + GetRValue(gbr2.Canvas.Pixels[x+1,y+3])* StrtoInt(Cells[4,6]) + GetRValue(gbr2.Canvas.Pixels[x+2,y-3])* StrtoInt(Cells[5,0]) + GetRValue(gbr2.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[5,1]) + GetRValue(gbr2.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[5,2]) + GetRValue(gbr2.Canvas.Pixels[x+2,y])* StrtoInt(Cells[5,3]) + GetRValue(gbr2.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[5,4]) + GetRValue(gbr2.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[5,5]) + GetRValue(gbr2.Canvas.Pixels[x+2,y+3])* StrtoInt(Cells[5,6])+ GetRValue(gbr2.Canvas.Pixels[x+3,y-3])* StrtoInt(Cells[6,0]) + GetRValue(gbr2.Canvas.Pixels[x+3,y-2])* StrtoInt(Cells[6,1]) + GetRValue(gbr2.Canvas.Pixels[x+3,y-1])* StrtoInt(Cells[6,2]) + GetRValue(gbr2.Canvas.Pixels[x+3,y])* StrtoInt(Cells[6,3]) + GetRValue(gbr2.Canvas.Pixels[x+3,y+1])* StrtoInt(Cells[6,4]) + GetRValue(gbr2.Canvas.Pixels[x+3,y+2])* StrtoInt(Cells[6,5]) + GetRValue(gbr2.Canvas.Pixels[x+3,y+3])* StrtoInt(Cells[6,6])); R:=round(R / jml + 128); // G:=round(G / jml + 128); // B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then R:=255; hslEmbs.Canvas.Pixels[x,y]:= RGB(R,R,R); end; imgHasil.Canvas.Draw( 0,0 ,hslEmbs); end; procedure TfrmEmboss.EmbossWarna1Click(Sender: TObject); var i,j,R,G,B : Integer; x1,y1,x,y,jml: Integer; //S : Double;

Page 94: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

begin hslEmbs := TBitmap.Create; hslEmbs.Assign(gbr1); jml:=0; with sgMatrik do for i:=0 to 6 do for j:=0 to 6 do 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(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[0,0]) + GetRValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[0,1]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[0,2]) + GetRValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[1,0]) + GetRValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[1,1]) + 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]) +

Page 95: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

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])) ; R:=round(R / jml + 128); G:=round(G / jml + 128); B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then R:=255; if G <0 then G:=0; if G>255 then G:=255; if B <0 then B:=0; if B>255 then B:=255; hslEmbs.Canvas.Pixels[x,y]:= RGB(R,G,B); 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(gbr1.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[0,0]) + GetRValue(gbr1.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[0,1]) + GetRValue(gbr1.Canvas.Pixels[x-2,y])* StrtoInt(Cells[0,2]) + GetRValue(gbr1.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[0,3]) + GetRValue(gbr1.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[0,4]) +

Page 96: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

GetRValue(gbr1.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[1,0]) + GetRValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[1,1]) + GetRValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[1,2]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[1,3]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[1,4]) + GetRValue(gbr1.Canvas.Pixels[x,y-2])* StrtoInt(Cells[2,0]) + GetRValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[2,1]) + GetRValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[2,2]) + GetRValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[2,3]) + GetRValue(gbr1.Canvas.Pixels[x,y+2])* StrtoInt(Cells[2,4]) + GetRValue(gbr1.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[3,0]) + GetRValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[3,1]) + GetRValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[3,2]) + GetRValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[3,3])+ GetRValue(gbr1.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[3,4]) + GetRValue(gbr1.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[4,0]) + GetRValue(gbr1.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[4,1]) + GetRValue(gbr1.Canvas.Pixels[x+2,y])* StrtoInt(Cells[4,2]) + GetRValue(gbr1.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[4,3]) + GetRValue(gbr1.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[4,4])) ; G :=(GetGValue(gbr1.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[0,0]) + GetGValue(gbr1.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[0,1]) + GetGValue(gbr1.Canvas.Pixels[x-2,y])* StrtoInt(Cells[0,2]) + GetGValue(gbr1.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[0,3]) + GetGValue(gbr1.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[0,4]) + GetGValue(gbr1.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[1,0]) + GetGValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[1,1]) + GetGValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[1,2]) + GetGValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[1,3]) + GetGValue(gbr1.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[1,4]) + GetGValue(gbr1.Canvas.Pixels[x,y-2])* StrtoInt(Cells[2,0]) + GetGValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[2,1]) + GetGValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[2,2]) + GetGValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[2,3]) + GetGValue(gbr1.Canvas.Pixels[x,y+2])* StrtoInt(Cells[2,4]) + GetGValue(gbr1.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[3,0]) + GetGValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[3,1]) + GetGValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[3,2]) + GetGValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[3,3])+ GetGValue(gbr1.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[3,4]) + GetGValue(gbr1.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[4,0]) + GetGValue(gbr1.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[4,1]) + GetGValue(gbr1.Canvas.Pixels[x+2,y])* StrtoInt(Cells[4,2]) + GetGValue(gbr1.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[4,3]) +

Page 97: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

GetGValue(gbr1.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[4,4])) ; B :=(GetBValue(gbr1.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[0,0]) + GetBValue(gbr1.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[0,1]) + GetBValue(gbr1.Canvas.Pixels[x-2,y])* StrtoInt(Cells[0,2]) + GetBValue(gbr1.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[0,3]) + GetBValue(gbr1.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[0,4]) + GetBValue(gbr1.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[1,0]) + GetBValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[1,1]) + GetBValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[1,2]) + GetBValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[1,3]) + GetBValue(gbr1.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[1,4]) + GetBValue(gbr1.Canvas.Pixels[x,y-2])* StrtoInt(Cells[2,0]) + GetBValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[2,1]) + GetBValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[2,2]) + GetBValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[2,3]) + GetBValue(gbr1.Canvas.Pixels[x,y+2])* StrtoInt(Cells[2,4]) + GetBValue(gbr1.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[3,0]) + GetBValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[3,1]) + GetBValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[3,2]) + GetBValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[3,3])+ GetBValue(gbr1.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[3,4]) + GetBValue(gbr1.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[4,0]) + GetBValue(gbr1.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[4,1]) + GetBValue(gbr1.Canvas.Pixels[x+2,y])* StrtoInt(Cells[4,2]) + GetBValue(gbr1.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[4,3]) + GetBValue(gbr1.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[4,4])); R:=round(R / jml + 128); G:=round(G / jml + 128); B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then R:=255; if G <0 then G:=0; if G>255 then G:=255; if B <0 then B:=0; if B>255 then B:=255;

Page 98: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

hslEmbs.Canvas.Pixels[x,y]:= RGB(R,G,B); end; if (rbMatrik3.Checked) then with sgMatrik do for x := 1 to x1-1 do for y := 1 to y1-1 do begin R :=( GetRValue(gbr1.Canvas.Pixels[x-3,y-3])* StrtoInt(Cells[0,0]) + GetRValue(gbr1.Canvas.Pixels[x-3,y-2])* StrtoInt(Cells[0,1]) + GetRValue(gbr1.Canvas.Pixels[x-3,y-1])* StrtoInt(Cells[0,2]) + GetRValue(gbr1.Canvas.Pixels[x-3,y])* StrtoInt(Cells[0,3]) + GetRValue(gbr1.Canvas.Pixels[x-3,y+1])* StrtoInt(Cells[0,4]) + GetRValue(gbr1.Canvas.Pixels[x-3,y+2])* StrtoInt(Cells[0,5]) + GetRValue(gbr1.Canvas.Pixels[x-3,y+3])* StrtoInt(Cells[0,6]) + GetRValue(gbr1.Canvas.Pixels[x-2,y-3])* StrtoInt(Cells[1,0]) + GetRValue(gbr1.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[1,1]) + GetRValue(gbr1.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[1,2]) + GetRValue(gbr1.Canvas.Pixels[x-2,y])* StrtoInt(Cells[1,3]) + GetRValue(gbr1.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[1,4]) + GetRValue(gbr1.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[1,5]) + GetRValue(gbr1.Canvas.Pixels[x-2,y+3])* StrtoInt(Cells[1,6]) + GetRValue(gbr1.Canvas.Pixels[x-1,y-3])* StrtoInt(Cells[2,0]) + GetRValue(gbr1.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[2,1]) + GetRValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[2,2]) + GetRValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[2,3]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[2,4]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[2,5]) + GetRValue(gbr1.Canvas.Pixels[x-1,y+3])* StrtoInt(Cells[2,6]) + GetRValue(gbr1.Canvas.Pixels[x,y-3])* StrtoInt(Cells[3,0]) + GetRValue(gbr1.Canvas.Pixels[x,y-2])* StrtoInt(Cells[3,1]) + GetRValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[3,2]) + GetRValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[3,3]) + GetRValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[3,4]) + GetRValue(gbr1.Canvas.Pixels[x,y+2])* StrtoInt(Cells[3,5]) + GetRValue(gbr1.Canvas.Pixels[x,y+3])* StrtoInt(Cells[3,6]) + GetRValue(gbr1.Canvas.Pixels[x+1,y-3])* StrtoInt(Cells[4,0]) + GetRValue(gbr1.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[4,1]) + GetRValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[4,2]) + GetRValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[4,3]) + GetRValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[4,4])+ GetRValue(gbr1.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[4,5]) + GetRValue(gbr1.Canvas.Pixels[x+1,y+3])* StrtoInt(Cells[4,6]) +

Page 99: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

GetRValue(gbr1.Canvas.Pixels[x+2,y-3])* StrtoInt(Cells[5,0]) + GetRValue(gbr1.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[5,1]) + GetRValue(gbr1.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[5,2]) + GetRValue(gbr1.Canvas.Pixels[x+2,y])* StrtoInt(Cells[5,3]) + GetRValue(gbr1.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[5,4]) + GetRValue(gbr1.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[5,5]) + GetRValue(gbr1.Canvas.Pixels[x+2,y+3])* StrtoInt(Cells[5,6])+ GetRValue(gbr1.Canvas.Pixels[x+3,y-3])* StrtoInt(Cells[6,0]) + GetRValue(gbr1.Canvas.Pixels[x+3,y-2])* StrtoInt(Cells[6,1]) + GetRValue(gbr1.Canvas.Pixels[x+3,y-1])* StrtoInt(Cells[6,2]) + GetRValue(gbr1.Canvas.Pixels[x+3,y])* StrtoInt(Cells[6,3]) + GetRValue(gbr1.Canvas.Pixels[x+3,y+1])* StrtoInt(Cells[6,4]) + GetRValue(gbr1.Canvas.Pixels[x+3,y+2])* StrtoInt(Cells[6,5]) + GetRValue(gbr1.Canvas.Pixels[x+3,y+3])* StrtoInt(Cells[6,6])); G :=(GetGValue(gbr1.Canvas.Pixels[x-3,y-3])* StrtoInt(Cells[0,0]) + GetGValue(gbr1.Canvas.Pixels[x-3,y-2])* StrtoInt(Cells[0,1]) + GetGValue(gbr1.Canvas.Pixels[x-3,y-1])* StrtoInt(Cells[0,2]) + GetGValue(gbr1.Canvas.Pixels[x-3,y])* StrtoInt(Cells[0,3]) + GetGValue(gbr1.Canvas.Pixels[x-3,y+1])* StrtoInt(Cells[0,4]) + GetGValue(gbr1.Canvas.Pixels[x-3,y+2])* StrtoInt(Cells[0,5]) + GetGValue(gbr1.Canvas.Pixels[x-3,y+3])* StrtoInt(Cells[0,6]) + GetGValue(gbr1.Canvas.Pixels[x-2,y-3])* StrtoInt(Cells[1,0]) + GetGValue(gbr1.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[1,1]) + GetGValue(gbr1.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[1,2]) + GetGValue(gbr1.Canvas.Pixels[x-2,y])* StrtoInt(Cells[1,3]) + GetGValue(gbr1.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[1,4]) + GetGValue(gbr1.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[1,5]) + GetGValue(gbr1.Canvas.Pixels[x-2,y+3])* StrtoInt(Cells[1,6]) + GetGValue(gbr1.Canvas.Pixels[x-1,y-3])* StrtoInt(Cells[2,0]) + GetGValue(gbr1.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[2,1]) + GetGValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[2,2]) + GetGValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[2,3]) + GetGValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[2,4]) + GetGValue(gbr1.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[2,5]) + GetGValue(gbr1.Canvas.Pixels[x-1,y+3])* StrtoInt(Cells[2,6]) + GetGValue(gbr1.Canvas.Pixels[x,y-3])* StrtoInt(Cells[3,0]) + GetGValue(gbr1.Canvas.Pixels[x,y-2])* StrtoInt(Cells[3,1]) + GetGValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[3,2]) + GetGValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[3,3]) + GetGValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[3,4]) + GetGValue(gbr1.Canvas.Pixels[x,y+2])* StrtoInt(Cells[3,5]) + GetGValue(gbr1.Canvas.Pixels[x,y+3])* StrtoInt(Cells[3,6]) + GetGValue(gbr1.Canvas.Pixels[x+1,y-3])* StrtoInt(Cells[4,0]) + GetGValue(gbr1.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[4,1]) + GetGValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[4,2]) +

Page 100: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

GetGValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[4,3]) + GetGValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[4,4])+ GetGValue(gbr1.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[4,5]) + GetGValue(gbr1.Canvas.Pixels[x+1,y+3])* StrtoInt(Cells[4,6]) + GetGValue(gbr1.Canvas.Pixels[x+2,y-3])* StrtoInt(Cells[5,0]) + GetGValue(gbr1.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[5,1]) + GetGValue(gbr1.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[5,2]) + GetGValue(gbr1.Canvas.Pixels[x+2,y])* StrtoInt(Cells[5,3]) + GetGValue(gbr1.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[5,4]) + GetGValue(gbr1.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[5,5]) + GetGValue(gbr1.Canvas.Pixels[x+2,y+3])* StrtoInt(Cells[5,6])+ GetGValue(gbr1.Canvas.Pixels[x+3,y-3])* StrtoInt(Cells[6,0]) + GetGValue(gbr1.Canvas.Pixels[x+3,y-2])* StrtoInt(Cells[6,1]) + GetGValue(gbr1.Canvas.Pixels[x+3,y-1])* StrtoInt(Cells[6,2]) + GetGValue(gbr1.Canvas.Pixels[x+3,y])* StrtoInt(Cells[6,3]) + GetGValue(gbr1.Canvas.Pixels[x+3,y+1])* StrtoInt(Cells[6,4]) + GetGValue(gbr1.Canvas.Pixels[x+3,y+2])* StrtoInt(Cells[6,5]) + GetGValue(gbr1.Canvas.Pixels[x+3,y+3])* StrtoInt(Cells[6,6])); B :=( GetBValue(gbr1.Canvas.Pixels[x-3,y-3])* StrtoInt(Cells[0,0]) + GetBValue(gbr1.Canvas.Pixels[x-3,y-2])* StrtoInt(Cells[0,1]) + GetBValue(gbr1.Canvas.Pixels[x-3,y-1])* StrtoInt(Cells[0,2]) + GetBValue(gbr1.Canvas.Pixels[x-3,y])* StrtoInt(Cells[0,3]) + GetBValue(gbr1.Canvas.Pixels[x-3,y+1])* StrtoInt(Cells[0,4]) + GetBValue(gbr1.Canvas.Pixels[x-3,y+2])* StrtoInt(Cells[0,5]) + GetBValue(gbr1.Canvas.Pixels[x-3,y+3])* StrtoInt(Cells[0,6]) + GetBValue(gbr1.Canvas.Pixels[x-2,y-3])* StrtoInt(Cells[1,0]) + GetBValue(gbr1.Canvas.Pixels[x-2,y-2])* StrtoInt(Cells[1,1]) + GetBValue(gbr1.Canvas.Pixels[x-2,y-1])* StrtoInt(Cells[1,2]) + GetBValue(gbr1.Canvas.Pixels[x-2,y])* StrtoInt(Cells[1,3]) + GetBValue(gbr1.Canvas.Pixels[x-2,y+1])* StrtoInt(Cells[1,4]) + GetBValue(gbr1.Canvas.Pixels[x-2,y+2])* StrtoInt(Cells[1,5]) + GetBValue(gbr1.Canvas.Pixels[x-2,y+3])* StrtoInt(Cells[1,6]) + GetBValue(gbr1.Canvas.Pixels[x-1,y-3])* StrtoInt(Cells[2,0]) + GetBValue(gbr1.Canvas.Pixels[x-1,y-2])* StrtoInt(Cells[2,1]) + GetBValue(gbr1.Canvas.Pixels[x-1,y-1])* StrtoInt(Cells[2,2]) + GetBValue(gbr1.Canvas.Pixels[x-1,y])* StrtoInt(Cells[2,3]) + GetBValue(gbr1.Canvas.Pixels[x-1,y+1])* StrtoInt(Cells[2,4]) + GetBValue(gbr1.Canvas.Pixels[x-1,y+2])* StrtoInt(Cells[2,5]) + GetBValue(gbr1.Canvas.Pixels[x-1,y+3])* StrtoInt(Cells[2,6]) + GetBValue(gbr1.Canvas.Pixels[x,y-3])* StrtoInt(Cells[3,0]) + GetBValue(gbr1.Canvas.Pixels[x,y-2])* StrtoInt(Cells[3,1]) + GetBValue(gbr1.Canvas.Pixels[x,y-1])* StrtoInt(Cells[3,2]) + GetBValue(gbr1.Canvas.Pixels[x,y])* StrtoInt(Cells[3,3]) + GetBValue(gbr1.Canvas.Pixels[x,y+1])* StrtoInt(Cells[3,4]) + GetBValue(gbr1.Canvas.Pixels[x,y+2])* StrtoInt(Cells[3,5]) +

Page 101: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

GetBValue(gbr1.Canvas.Pixels[x,y+3])* StrtoInt(Cells[3,6]) + GetBValue(gbr1.Canvas.Pixels[x+1,y-3])* StrtoInt(Cells[4,0]) + GetBValue(gbr1.Canvas.Pixels[x+1,y-2])* StrtoInt(Cells[4,1]) + GetBValue(gbr1.Canvas.Pixels[x+1,y-1])* StrtoInt(Cells[4,2]) + GetBValue(gbr1.Canvas.Pixels[x+1,y])* StrtoInt(Cells[4,3]) + GetBValue(gbr1.Canvas.Pixels[x+1,y+1])* StrtoInt(Cells[4,4])+ GetBValue(gbr1.Canvas.Pixels[x+1,y+2])* StrtoInt(Cells[4,5]) + GetBValue(gbr1.Canvas.Pixels[x+1,y+3])* StrtoInt(Cells[4,6]) + GetBValue(gbr1.Canvas.Pixels[x+2,y-3])* StrtoInt(Cells[5,0]) + GetBValue(gbr1.Canvas.Pixels[x+2,y-2])* StrtoInt(Cells[5,1]) + GetBValue(gbr1.Canvas.Pixels[x+2,y-1])* StrtoInt(Cells[5,2]) + GetBValue(gbr1.Canvas.Pixels[x+2,y])* StrtoInt(Cells[5,3]) + GetBValue(gbr1.Canvas.Pixels[x+2,y+1])* StrtoInt(Cells[5,4]) + GetBValue(gbr1.Canvas.Pixels[x+2,y+2])* StrtoInt(Cells[5,5]) + GetBValue(gbr1.Canvas.Pixels[x+2,y+3])* StrtoInt(Cells[5,6])+ GetBValue(gbr1.Canvas.Pixels[x+3,y-3])* StrtoInt(Cells[6,0]) + GetBValue(gbr1.Canvas.Pixels[x+3,y-2])* StrtoInt(Cells[6,1]) + GetBValue(gbr1.Canvas.Pixels[x+3,y-1])* StrtoInt(Cells[6,2]) + GetBValue(gbr1.Canvas.Pixels[x+3,y])* StrtoInt(Cells[6,3]) + GetBValue(gbr1.Canvas.Pixels[x+3,y+1])* StrtoInt(Cells[6,4]) + GetBValue(gbr1.Canvas.Pixels[x+3,y+2])* StrtoInt(Cells[6,5]) + GetBValue(gbr1.Canvas.Pixels[x+3,y+3])* StrtoInt(Cells[6,6])); R:=round(R / jml + 128); G:=round(G / jml + 128); B:=round(B / jml + 128); if R <0 then R:=0; if R>255 then R:=255; if G <0 then G:=0; if G>255 then G:=255; if B <0 then B:=0; if B>255 then B:=255; hslEmbs.Canvas.Pixels[x,y]:= RGB(R,G,B); end;

Page 102: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

imgHasil.Canvas.Draw( 0,0 ,hslEmbs); end; end. Source code form matrik unit matrik; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls,emboss, ComCtrls; type TfrmMatrik = class(TForm) Label5: TLabel; Label7: TLabel; Label4: TLabel; Label6: TLabel; rbred1: TRadioButton; rbgreen1: TRadioButton; Button2: TButton; sgMatrik2: TStringGrid; Label2: TLabel; Label3: TLabel; StringGrid1: TStringGrid; Label1: TLabel; Label9: TLabel; rbred2: TRadioButton; rbgreen2: TRadioButton; rbblue2: TRadioButton; rbblue1: TRadioButton; rbgrey1: TRadioButton; rbgrey2: TRadioButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure RadioButton12Click(Sender: TObject); procedure rbred1Click(Sender: TObject); procedure rbgreen1Click(Sender: TObject); procedure rbblue2Click(Sender: TObject); procedure rbgrey1Click(Sender: TObject);

Page 103: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

procedure FormPaint(Sender: TObject); procedure rbred2Click(Sender: TObject); procedure rbgrey2Click(Sender: TObject); procedure RadioButton7Click(Sender: TObject); procedure rbgreen2Click(Sender: TObject); procedure rbblue1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmMatrik: TfrmMatrik; implementation //uses emboss; {$R *.dfm} procedure TfrmMatrik.Button2Click(Sender: TObject); begin frmEmboss.show; frmMatrik.Close; end; procedure TfrmMatrik.Button1Click(Sender: TObject); begin application.Terminate; end; procedure TfrmMatrik.FormCreate(Sender: TObject); var Bitmap :TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.loadFromFile('D:\CNTH_FLASH\about3.bmp'); Canvas.CopyMode := cmSrcAnd; Canvas.Draw(0,0,Bitmap); Bitmap.free; end; procedure TfrmMatrik.RadioButton12Click(Sender: TObject); var i,j : integer;

Page 104: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

begin sgMatrik2.RowCount := gbr1.Height; sgMatrik2.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with sgMatrik2 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(round((GetRValue(gbr1.Canvas.Pixels[i,j])+GetGValue(gbr1.Canvas.Pixels[i,j])+GetBValue(gbr1.Canvas.Pixels[i,j]))/3)); //Cells[i,j]:= FloatToStr(gbr1.Canvas.Pixels[i,j]); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbred1Click(Sender: TObject); var i,j : integer; begin sgMatrik2.RowCount := gbr1.Height; sgMatrik2.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with sgMatrik2 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetRValue(gbr1.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbgreen1Click(Sender: TObject); var i,j : integer; begin sgMatrik2.RowCount := gbr1.Height; sgMatrik2.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with sgMatrik2 do

Page 105: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetGValue(gbr1.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbblue2Click(Sender: TObject); var i,j : integer; begin StringGrid1.RowCount := gbr1.Height; StringGrid1.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with StringGrid1 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetBValue(hslEmbs.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbgrey1Click(Sender: TObject); var i,j : integer; begin sgMatrik2.RowCount := gbr1.Height; sgMatrik2.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with sgMatrik2 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetRValue(gbr2.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.FormPaint(Sender: TObject);

Page 106: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

var Bitmap :TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.loadFromFile('D:\CNTH_FLASH\coba\back4.bmp'); Canvas.CopyMode := cmSrcAnd; Canvas.Draw(0,0,Bitmap); Bitmap.free; end; procedure TfrmMatrik.rbred2Click(Sender: TObject); var i,j : integer; begin StringGrid1.RowCount := gbr1.Height; StringGrid1.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with StringGrid1 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetRValue(hslEmbs.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbgrey2Click(Sender: TObject); var i,j : integer; begin StringGrid1.RowCount := gbr1.Height; StringGrid1.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with StringGrid1 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetRValue(hslEmbs.Canvas.Pixels[i,j])); end; procedure TfrmMatrik.RadioButton7Click(Sender: TObject); var i,j : integer;

Page 107: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

begin sgMatrik2.RowCount := gbr1.Height; sgMatrik2.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with sgMatrik2 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetBValue(gbr2.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbgreen2Click(Sender: TObject); var i,j : integer; begin StringGrid1.RowCount := gbr1.Height; StringGrid1.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with StringGrid1 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetGValue(hslEmbs.Canvas.Pixels[i,j])); // RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; procedure TfrmMatrik.rbblue1Click(Sender: TObject); var i,j : integer; begin sgMatrik2.RowCount := gbr1.Height; sgMatrik2.ColCount := gbr1.Width; label4.Caption := FloatToStr(gbr1.Height); label5.Caption := FloatToStr(gbr1.Width); with sgMatrik2 do for i:=0 to gbr1.Height do for j:=0 to gbr1.Width do Cells[i,j]:= FloatToStr(GetBValue(gbr1.Canvas.Pixels[i,j]));

Page 108: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

// RGB(GetRValue(gbr1.Canvas.Pixels[i,j]),GetGValue(gbr1.Canvas.Pixels[i,j]),GetBValue(gbr1.Canvas.Pixels[i,j])) end; end. Source code form about unit about; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TfrmAbout = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmAbout: TfrmAbout; implementation uses emboss; {$R *.dfm} procedure TfrmAbout.Button1Click(Sender: TObject); begin frmEmboss.show; frmAbout.Close; end;

Page 109: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

procedure TfrmAbout.Button2Click(Sender: TObject); begin application.Terminate; end; procedure TfrmAbout.FormCreate(Sender: TObject); var Bitmap :TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.loadFromFile('D:\CNTH_FLASH\coba\about.bmp'); Canvas.CopyMode := cmSrcAnd; Canvas.Draw(0,0,Bitmap); Bitmap.free; end; end. Source code form help unit help; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TfrmHelp = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmHelp: TfrmHelp; implementation uses emboss, about;

Page 110: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

{$R *.dfm} procedure TfrmHelp.Button1Click(Sender: TObject); begin frmEmboss.show; frmHelp.Close; end; procedure TfrmHelp.Button2Click(Sender: TObject); begin application.Terminate; end; procedure TfrmHelp.FormCreate(Sender: TObject); var Bitmap :TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.loadFromFile('D:\CNTH_FLASH\coba\help.bmp'); Canvas.CopyMode := cmSrcAnd; Canvas.Draw(0,0,Bitmap); Bitmap.free; end; end. Source code program utama program utama; uses Forms, emboss in 'emboss.pas' {frmEmboss}, help in 'help.pas' {frmHelp}, about in 'about.pas' {frmAbout}, matrik in 'matrik.pas' {frmMatrik}, judul in 'judul.pas' {frmDepan}; {$R *.res} begin Application.Initialize; Application.CreateForm(TfrmDepan, frmDepan); Application.CreateForm(TFrmEmboss, FrmEmboss); Application.CreateForm(TfrmHelp, frmHelp);

Page 111: PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA …repository.usd.ac.id/26174/2/023124040_Full.pdf · PENGGUNAAN MATRIK KONVOLUSI UNTUK EFEK EMBOSS PADA SUATU CITRA Oleh: Leny

Application.CreateForm(TfrmAbout, frmAbout); Application.CreateForm(TfrmMatrik, frmMatrik); Application.Run; end.