Oleh :
Sudi Suryadi
Dosen Prodi Manajemen Informatika, AMIK Labuhanbatu
Rantauprapat, Medan; sudi_suryadi@yahoo.com
Abstract
Keyword : red eye, aplikasi, perangkat lunak, reduction, teknik, intensity, color, checking.
57 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
58 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
adalah perbaikan citra (Image Restoration) berkabut, juga pemberian cahaya pada bagian
merupakan suatu proses yang dilakukan di mana tertentu dari foto.
suatu citra yang telah mengalami 2. Dalam ilmu kedokteran
penurunan/degradasi dikembalikan ke bentuk citra Pengolahan citra digunakan terutama untuk
aslinya. Penurunan tingkat/mutu citra dapat memperjelas hasil x-ray organ tubuh manusia.
disebabkan oleh beberapa hal seperti penurunan Gambar yang didapat dari x-ray umumnya kabur
tingkat kontras suatu citra yang menyebabkan citra sehingga sulit bagi para dokter untuk menganalisa
tersebut gsulit dibedakan, ncitra yang mengalami kelainan-kelainan yang terdapat pada organ
tingkat ketajaman sehingga menjadi lebih kabur tubuh tersebut. Dengan pengolahan citra, gambar
dari citra aslinya, maupun citra yang mengalami tersebut dapat diperjelas.
kerusakan seperti rusak karena robekan, lipatan, 3. Dalam bidang teknologi dan komunikasi
timbulnya bintik-bintik/spot dan lain-lain Data gambar yang biasanya didapat dari
[MUN04] satelit cuaca yang memfoto permukaan bumi
Segmentasi citra adalah bagian dari teknik ataupun satelit penyelidik yang memfoto planet-
pengolahan citra. Segmentasi citra merupakan planet pada umumnya hamper tidak dapat dilihat.
proses pengindetifikasian piksel-piksel ke dalam Hal ini disebabkan pada saat foto tersebut dikirim
suatu kelas. ke stasiun bumi melalui gelombang, terjadi
Klasifikasi citra didefinisikan sebagai baanyak gangguan di dalam perjalanan.gangguan
teknik ekstraksi dari kelas-keles yang berbeda ini disebabkan oleh gelombang-gelombang lain
seperti pengelempokan daratan atau perairan yang seperti gelombang radio, televise dan lain-lain
datanya diperoleh dari satelit. Satu unit klasifikasi yang bercampur dengan gelombang data
dapat berupa satu piksel, kumpulan piksel atau satu tersebut. Pengolahan citra dilakukan pada foto
citra secara keseluruhan [MUN04]. yang diterima di stasiun bumi untuk
Kompresi citra adalah pemadatan ukuran menghilangkan gangguan (noise) tersebut,
file citra, di mana citra tersebut disimpan dalam sehingga gambar tersebut dapat dilihat dengan
suatu format yang mengggunakan formula jelas.
matematika untuk menganalisis dan menyimpan 4. Dalam dunia game
data atau informasi citra yang didalamnya seperti Dalam pembuatan game, pengolahan citra
panjang, lebar, kedalam warna, atau informasi digunakan untuk menciptakan efek-efek seperti
lainnya. Tujuan dari pemadatan data citra bayangan di atas permukaan air, tampilan yang
(kompresi citra) adalah mengurangi jumlah bit kabur karena terkena angin, transparansi,
yang digunakan untuk menyimpan citra, dengan percahayaan dan lain-lainnya.
usaha semaksimum mungkin tidak terjadi 5. Dalam ilmu geografi
penurunan mutu citra aslinya [MUN04]. Ahli geografi memanfaatkan pengolahan citra
2.1.2 Kegunaan Pengolahan Citra untuk mempelajari pola-pola polusi udara,
Dalam kehidupan sehari-hari, pengolahan pemetaan pembukaan atau penutupan lahan.
citra memegang peranan yang cukup penting Pemetaan dan monitoring lahan pertanian,
walaupun kita tidak menyadarinya secara manajemen sumber daya pantai dan
langsung. Pengolahan citra adalah memproses kelautan, eksplorasi bahan tambang mineral,
suatu gaambar sehingga menghasilkan gambar lain eksplorasi minyak bumi, manajemen sumber daya
yang sesuai dengan keinginan kita. Adapun hutan, perencanaan pemukiman dan perubahannya,
pemakaian pengolahan citra dalam sehari-hari perencanaan bidang telekomunikasi, oseanografi
adalah sebagai berikut [GON92] fisik, pemetaan geologi dan topografi, pemetaan
1. Dalam Dunia fotografi dan perfilman. dan deteksi laut-laut es.
Pengolahan citra paling banyak digunakan 2.2 Pengertian Citra
dalam dunia fotografi dan perfilman. Pengolahan Citra adalah representasi dari sebuah
citra dimanfaatkan untuk menghaluskan gambar, objek. Citra merupakan dari titik-titik yang
membuat gambar menjadi kasar, menerangkan mempunyai intensitas tertentu membentuk satu
gambar, mempergelap gambar. Misalnya dalam kasatuan perpaduan. Citra yang baik adalah citra
menayangkan acara criminal, terkadang wajah yang dapat menampilkan gambar yang dimaksud
orang tersebut dibuat menjadi kotak-kotak. Dalam dengan seutuhnya, yang meliputi keindahan
dunia fotografi, pengolahan citra digunakan gambar, kejelasan gambar untuk penganalisaan dan
sebagai pengganti kamera filter. Filter kamera maksud-maksud lainnya. Dengan kata lain, citra
dalam dunia fotografi ini biasanya digunakan yang baik adalah citra yang dapat menampilkan
untuk membuat film hitam putih, membuat efek nilai artistik gambar tersebut dengan [GOM96].
59 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
60 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
Gambar 2.5. Tingkatan Resolusi dan pengubah analog ke digital yang mengubah
harga kontinu menjaadi haarga diskrit sehingga
Citra hitam putih adalah citra yang dapat diproses oleh komputer [GOM96].
menggunakan 1 bit bagi perwakilan hitam putih di Citra digital tidak selalu merupakan hasil
mana 0 bagi hitam dan putih bagi satu piksel langsung data rekaman suatu sistem. Kadang-
dikenali sebagai binary image. Suatu cara hitam kadang hasil rekaman data bersifat kontinu seperti
putih yang diwakili dengan beberapa nilai gambar pada monitor televise, foto sinar –x dan
kekuatan cahaya berlainan dari hitam hingga putih lain sebagainya dengan demikian untuk
dikenali sebagai grayscale image [GOM96]. mendapatkan suatu citra digital diperlukan suatu
Salah satu sistem yang digunakan untuk proses konversi, sehingga citra tersebut selanjutnya
mewakili gambar yaitu sistem warna RGB (Red, dapat diproses dengan komputer. Sistem
Green, Blue). Sistem RGB adalah sistem yang penangkapan citra digital diperlihatkan pada
menggabungkan warna primer gabungan (additive gambar 2.7 [GOM96].
primary colours) untuk memperoleh gabungan-
gabungan warna. Berikut ini adalah table warna
yang merupakan gabungan warna primer
[GOM96].
Tabel 2.1 Kode Warna
61 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
keabuan yang digunakan makin baik gambar yang menjalankan sistem operasi Windows dan OS/2.
akan diperoleh, karena kontinuitas dari tingkat Format ini dapat dibuka oleh setiap program
keabuan akan semakin tinggi sehingga mendekati Windows. Informasi citra diletakkan piksel demi
citra aslinya [GOM96]. piksel. Oleh karena it, BMP terutama tepat untuk
2.3 Format Citra menyimpan citra asli (original image) dengan
Untuk menyimpan foto dan citra semua detailnya. Namun, dengan ukurannya yang
digunakan yang digunakan format citra layar besar, BMP tidak tepat untuk Internet, bahkan
kuadratis (berbentuk kotak) yang terdiri atas titik- sama sekali tidak dapat dibaca oleh browser yang
titik citra kecil yang disebut dengan piksel (pixel). umum digunakan [GON92].
Piksel disebut juga dengan dot. Piksel berbentuk Kelebihan dari format Bitmap adalah sebagai
bujur sangkar dengan ukuran relatif kecil. berikut [GON92]:
Banyaknya piksel tiap satuan luas tergantung pada 1. Dibaca oleh semua program Windows
resolusi yang digunakan. Keanekaragaman warna Kedalaman warna dapat diatur dari 1 sampai
piksel tergantung pada bit depth yang dipakai. 24-bit (maksimal 16,7 juta Warna).
Semakin banyak jumlah piksel tiap satu satuan 2. Kelemahan dari format Bitmap adalah
luas, semakin baik kualitas citra yang dihasilkan sebagai berikut :
dan tentu akan semakin besar ukuran file-nya 1. Ukuran file sangat besar.
[GON92]. 2. Tidak dapat dipublikasikan ke Internet.
Resolusi adalah jumlah piksel per satuan 2.3.2 Format File Bitmap (BMP)
luas yang terdapat pada suatu citra. Satuan piksel Format file BMP adalah sebagai
yang sering dipakai adalah dpi (dot per inch) atau berikut [GON92]:
ppi (pixel per inch). Satuan dpi menentukan jumlah
piksel yang ada setiap satu satuan luas. Dalam hal
ini adalah satu inci kuadrat. Resolusi sangat
berpengaruh pada detil dan perhitungan citranya. Dimana :
Jika suatu citra dengan luas 1 inci kuadrat dan File Header :
jumlah dot adalah 60 x 60 (yang berarti Berisi informasi sebagai berikut :
mempunyai resolusi 3600 dpi) diperbesar menjadi File Type → ‘BM’
10 inci maka jumlah piksel tetap 3600 dpi, tetapi File Size → Ukuran file dalam byte.
resolusinya berubah menjadi 3600:10 = 360 dpi. Info Header
Hal ini menyebabkan citra menjadi kabur atau Berisi informasi sebagai berikut :
kasar [GON92]. Height → Tinggi gambar dalam satuan piksel.
Depth menentukan berapa banyak informasi Bit Count → Jumlah bit per piksel.
warna yang tersedia untuk ditampilkan atau dicetak Image Size → Ukuran data gambar dalam satuan
dalam setiap piksel. Semakin besar nilainya byte.
semakin bagus kualitas citra yang dihasilkan. Colours Used → Jumlah warna dalam table.
Tentu ukurannya juga semakin besar. Misalkan Colour Table (Palette)
suatu citra mempunyai bit depth = 1. Ini berarti Warna dalam bitmap ditentukan
hanya ada 2 kemungkinan warna (21 = 1) yang berdasarkan table warna ini.
ada pada citra tersebut yaitu hitam dan putih. Bit Image Bitmap
depth = 24 berarti mempunyai kemungkinan warna Berupa informasi warna piksel (data
224 = 16,7 juta warna [GON92]. gambar)
Bersama ukuran citra dan kedalaman Tabel 2.2 Struktur File Bitmap File Header
warna, resolusi menentukan besarnya ukuran file
citra. Sebuah format citra harus mampu
menyatakan kualitas citra, ukuran file dan
kompatibilitas dengan berbagai aplikasi. Saat ini
tersedia ratusan format citra dan format baru terus
dikembangkan. Setiap program pengolah citra pun
biasanya memiliki format citra tersendiri
[GON92].
2.3.1 Format File Bitmap (BMP) Tabel 2.3 Struktur Bitmap Info Header
Bitmap (BMP) merupakan format file
standar untuk komputer-komputer yang
62 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
63 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
64 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
l. Vignette. Menambahkan frame elips, dibuat pada suatu kanvas yang dilapisi
sirkular, persegi, dan persegi panjang dengan suatu lapisan cat.
disekeliling citra. 2.5 Red Eye
m. Vortex. Menghasilkan putaran angin Warna merah berasal dari cahaya yang
di sekeliling citra dengan suatu titik membias pada retina pada mataManusia. Banyak
tengah yang dapat dispesifikasi oleh hewan, termasuk anjing, kucing, dan rusa,
use. retinanya mempunyai suatu lapisan pembias
n. Weather. khusus yang disebut dengan tepetum lucidum yang
Mengaplikasikan efek salju, hujan, berfungsi seperti sebuah cermin pada bagian
dank abut pada citra. belakang mata mereka. Jika suatu cahaya lampu
4. Texture. Merupakan efek khsus dengan seperti senter atau lampu sorot menyinari mata
menambahkan texture pada suatu citra pada waktu malam hari, mata mereka akan tampak
menggunakan suatu bentuk dan permukaan bersinar seperte memantulkan suatu cahaya putih
tertentu seperti batu bata, bubble, kanvas, [IMA04]. Manusia tidak mempunyai
elephant skin, plastik, dan batu. Efek ini lapisan tapetum lucidum pada retina. Jika suatu
juga dapat dipakai untuk membuat suatu cahaya lampu mengenai mata manusia maka
citra kelihatan seperti dilukis pada suatu pembiasan cahaya tidak akan terjadi. Flash pada
dinding plaster ataupun seperti melihatnya kamera cukup terang, bagaimanapun juga ini dapat
malalui pintu kaca. Jenis-jenis efek texture menyebabkan refleksi pada retina yang kelihatan
terdiri atas : berwarna merah. Ini berasal dari pembuluh darah
a. Brick Wall. Efek ini yang terdapat pada mata manusia [IMA04].
mengelompokkan sekelompok Banyak kamera saat ini telah mempunyai
interlocking cell untuk membuat citra fitur “red eye redction”. Pada kamera ini, flashing
kelihat seperti suatu lukisan pada akan dilakukan sebanyak dua kali, pertama
dinding batu bata. sebelum gambar diambil, kemdian sekali lagi
b. Bubble. Membentuk efek seperti busa ketika gambar sebenarnya diambil. Flash yang
sabun pada citra. pertama menyebabkan pupil pada mata manusia
c. Canvas. Menambahkan suatu berkontraksi, sehingga mengurangi “red eye”
permukaan texture pada citra dengan secara signifikan. Trik yang lain adalah mematikan
menggunakan citra yang lain sebagai semua cahaya dalam ruangan, juga dapat
kanvas. mengakibatkan pupil berkontraksi [IMA04].
d. Cobblestone. Untuk membantu suatu Cara lain untuk mengurangi atau
citra kelihatan seperti dibentuk dari memperkecil “red eye” adalah memindahkan flash
batu bulat. dari lensa. Pada kebanyakan kamera kecil. Flash
e. Elephant Skin. Memberikan suatu hanya satu ata dua inci jaauhnya dari lensa, jadi
citra kelihatan berkerut dengan refleksi yang berasal dari lensa akan dihasilkan
membentuk suatu lapisan berupa garis pada film. Jika flash pada kamera dapat dibongkar
bergelombang (seperti kulit gajah. pasang dan memegangnya beberapa feet jauhnya
f. Etching. Mentransformasikan suatu dari lensa maka hal ini akan cukup menolong.
citra menjadi bentuk ukiran. Selain itu disarankan jika akan mengambil photo
g. Plastic.Membuat suatu citra kelihatan usahakan bagian belakang dari objek yang akan
seperti dibuat dari bahan plastic. difoto tidak mempnyai sumber percahayaan yang
h. Plaster Wall. Mendistribusi pixel terang langsung menuju ke kamera [IMA04].
sehingga citra kelihatan seperti dilukis Cara lain adalah mengedit photo yang
pada dinding plester. mempunyai “red eye” dengan menggunakan tools
i. Relief Sculpture. red eye reduction. Program pengolah citra seperti
Mentransformasikan suatu citra Adobe PhotoShop mempunyai tools untuk fungsi
menjadi bentuk ukiran relief. seperti ini [IMA04].
j. Screen Door. Membuat citra kelihatan
seperti lihat melalui pintu kaca.
k. Stone. Memberikan efek texture batu
pada citra.
l. Underpainting. Membuat citra
kelihatan seperti suatu lukisan yang
65 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
66 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
d. Lakukan intensitas color checking. nilai 256. 1 merupakan variabel unruk menghitung
e. Update kembali matrik input dengan hasil rata-rata intensitas pixel dengan pembagian bulat
yang didapat. (menggunakan tanda back slash) sedangkan gray
Proses pada algoritma blur adalah sebagai merupakan nilai tingkat keabuan pixsel sebagai
berikut : nilai sementara yang dignakan untuk dikurangkan
a. Menginput matriks citra dengan kedalaman dengan nilai intensitas 1. Konstanta 222,707, dan
warna RGB 24-bit. 71 merupakan konstanta ketentuan.
b. Lakukan iterasi sampai lebar citra dikali Pada algoritma intensitas color checking
tinggi citra. terlihat bahwa menggunakan diperlukan proses
c. Input dan ambil nilai pixel pada koordinat x, looping dalam memproses setiap pixel citra yaitu
y. sebanyak dua kali loop terhadap lebar dan tinggi
d. Proses setiap komponen Red, Green, Blue citra input. Setelah itu akan dilakukan pengambilan
dengan menggeser nilai-nilai tersebut warna satu buah pixel pada posisi i, j. Setelah itu
dengan suatu konstanta. komponen nilai R, G, B akan diekstraksi sesuai
e. Set pixel hasil kembali ke dalam matriks dengan persamaan di atas. Nilai intensitas (I)
citra. didapat dengan menghitung nilai rata-rata dari
komponen R, G dan B. Gray atau tingkat keabuan
3.1.1 Menghitung Penggantian Pixel dengan dari pixel tersebut merupakan nilai perkalian dan
Intensitas Color Checking penjumlahan dari komponen R, G, dan B. Setelah
Proses penggunaan pixel dengan melakukan selesai maka nilai R, G, B masing-masing akan
perhitungan intensity digeser dengan cara mengurangkan nilai gray
colorchecking digambarkan oleh flow chart dengan 1 untuk mendapatkan pixel pengganti yang
Gambar 3.1. berwarna keabuan kemudian diabsolutkan agar
tidak mendapatkan hasil negative.
Agar algoritma di atas lebih mudah
dipahami maka berikut ini penulis menyertakan
contoh perhitungan dengan menggunakan
algoritma di atas dengan hanya menyertakan suatu
contoh citra input yang terdiri atas empat pixel.
67 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
R = Gray –I
R = |128 – 119| Gray = (222 * 255 + 707 * 71 * 32) \ 1000
R=9 Gray = (56610 + 85547 + 2272) \ 1000
G = Gray – I Gray = 144
G = |128 – 119|
G=9 R = Gray – I
B = Gray – I R = |144 – 136|
B = |126 – 119| R=8
B = 9-
G = Gray – I
Untuk Pixel (0, 1) G = |144 – 136|
R = 204, G = 51, Blue = 0 G=8
I = (204 + 51 + 0) \ 3
I = 85 B = Gray – I
B = |144 – 136|
Gray = (22 * 204 + 707 * 51 + 71 * 0) \ B=8
1000 Untuk perhitungan ketiga pixel lainnya akan sama
Gray = (45288 + 36057 + 0) \ 1000 seperti perhitungan untuk pixel pada posisi (0, 0)
Gray = 81 sehingga hasil akhirnya diperlihatkan pada Gambar
3.2 :
R = Gray – I
R= |81 – 85|
R=4
G = Gray – I
G = |81 – 85|
Gambar 3.2 Contoh Pixel Hasil Setelah
G=4
Dilakukan Red Eye Reduction
Untuk mendapatkan perbandingan nilai
B = Gray – I
intensitas setelah dan sebelum direduksi maka akan
B = |81 – 85|
dianalisis dengan Euclidean Distance.
B=4
Perbandingan akan dilakukan antara pixel 1 dengan
pixel 2, pixel 3, dan pixel 4 dari contoh di atas.
Untuk Pixel (1, 0)
Untuk analisis ini hanya menggunakan
R = 255, G = 51, Blue = 0
pixel dengan komponen warna merah saja karena
I = (255 + 51 + 0) \ 3
pada citra yang mengandung red eye biasanya
I = 102
pixel inilah yang dominan. Langkah awal adalah
menghitung nalai L dengan rumusan Euclidean
Gray = (222 * 255 * 707 * 51 + 71 * 0) \ 1000
Distance untuk citra yang belum direduksi.
Gray = (56610 + 36057 + 0) \ 1000
Untuk pixel (0, 0) dengan pixel (0, 1)
Gray = 93
Nilai red pada pixel (0, 0) → R = 55
R = Gray – I Nilai red pada pixel (0, 1) → R = 204
R = |93 – 102| A1 = 255 ; B1 = 204
R=9 Untuk pixel (0, 0) dengan pixel (1, 0)
Nilai red pada pixel (0, 0) → R = 255
G = Gray – I Nilai red pada pixel (1, 0) → R = 255
G = |93 – 102| A2 = 255 ; B2 = 255
G=9 Untuk pixel (0, 0) dengan pixel (1, 1)
B = Gray – I Nilai red pada pixel (0, 0) → R = 255
B = |93 – 102| Nila red pada pixel (0, 0) → R = 255
B=9 A3 = 255 ; B3 = 2555
Perhitungan akan menggunkan rumusan
Utuk Pixel (1, 1) Evclidean Distance sebagi berikut :
R = 255, G = 121, Blue = 32
I = (255 + 121 + 32) \ 3
I = 136
68 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
3.1.2 Region
Algoritma intensity color checking hanya
sebatas pengambilan warna citra dan menset
dengan nilai baru sehingga didapat hasil
penggantian warna pixel yang baru. Agar dapat
diterapkan maka algoritma di atas masih harus
digabungkan dengan algoritma pemilihan region.
Untuk aplikasi red eye pada seluruh bagian
citra maka titik pusat citra akan ditarik untuk
menentukan radius dari citra yang akan diganti
warnanya. Ilustrasinya adalah sebagai berikut
pertama sekali akan ditentukan titik pusat citra
dengan menarik dua buah garis diagonal hasil
perpotongan kedua diagonal itulah merupakan titik
pusat dari citra. Radius ditentukan dengan
Gambar 3.4 Ilustrasi Aplikasi Red Eye pada
menghitung nilai 1⁄2dari panjang diagonal lalu
Bagian Tertentu Citra
ditarik sebuah garis tegak lurus dari titik
perpotongan ke bawah atau ke bawah atau ke atas.
69 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
Pada penentuan region yang digunakan untuk a. DeleteDC berfungsi untuk menghapus pixel
membatasi besar kecilnya pupil maka terdapat tiga input.
dalam hal ini adalah : b. createDIBitmap berfungsi untuk membentuk
1. Region lingkaran yang dibuat lebih besar dari pixel input menjadi pixel dalam bitmap 24-bit.
pupil yang mengandung red eye. c. createCompatibieBitmap berfungsi untuk
2. Region lingkaran yang dibuat lebih kecil dari membentuk pixel input yang kompatibel
pupilyang mengandung red eye. dengan bitmap 24-bit.
3. Region lingkarn sam dengan pupil yang d. createCompatibleDC berfungsi untuk
mengandung red eye. membentuk pixel input yang kompatibel
Adapun ilustrasi dari ketiga kasus di atas dengan bitmap DC.
dapat digambarkan sebagai berikut : e. SelectObject berfungsi untuk memilih region
tertentu pada citra.
f. GetDIBIts berfungsi untuk mengkonversikan
nilai pixel ke dalam bentuk long.
g. BitBlt berfungsi untuk menset suatu nilai pixel
ke dalam citra.
h. DeleteObject berfungsi untuk menghapus
region tertentu yang mengandung pixel dari
citra.
i. SetDIBIts berfungsi untuk menset nilai pixel
Gambar 3.5 Ilustrasi Penempatan Region Pada dalam bentuk Device Interface.
Pupil yang Mengandung Red Eye
3.2 Perancangan
3.1.3 Efek Blur Perancangan perangkat lunak menghilangkan
Untuk memperindah hasil efek red eye efek red eye pada photo mulai dari merancang
maka pada program yang antarmuka perangkat lunak, menyusun komponen
dibuat akan ditambahkan opsi untuk membuat hasil visual, merancang kotak dialog, dan menulis kode
dengan efek blur. Tujuan dari efek blur ini adalah program. Pada bagian perancangan ini
membuat suatu citra menjadi lebih kabur. Efek ini akan berisi penjelasan mengenai perancangan
dapat dihasilkan dengan cara mengambil nilai program. Program dirancang dengan menggunakan
RGB dari tiap pixel , kemudian menambahkan Visual Basic versi 6.0. Profesional Edition dan
dengan nilai RGB dari pixel tetangganya. Hasil dapat juga dibuka dan dikompilasi dengan Visual
pertambahan dibagi dengan suatu bilangan bulat Basic versi 5.0.
untuk mendapatkan nilai RGB yang baru. Antarmuka dari program ini adalah formyang
berbentuk windows. Form yang dirancang terdiri
atas dua buah formyaituformSplash Screen dan
Form Utama.
70 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
dapat berjalan lebih cepat. Sebagai user interface b. “Apply” digunakan untuk mengaplikasikan
maka akan digunakan Visual Basic karena fasilitas algoritma red eye reduction yang diberikan
dan kemudahan dalam penggunaan komponen pada citra.
visual Windows. c. “Cancel” digunakan untuk membatalkan
Secara umum dalam kode pembuatan proses red eye reduction yang diberikan pada
komponen OCX csXImage akan dibentuk suatu citra.
fungsi yang diberi nama RedEyeRuduction. Untuk d. “Zoom In” digunakan untuk melakukan proses
pemanggilan dalam Visual Basic maka fungsi zooming atau memperbesar citra.
tersebut harus dideklarasikan terlebih dahulu e. “Zoom Out” digunakan untuk melakukan
dalam module yang disimpan dalam ekstensi proses memperkecil citra.
*.BAS. Sedangkan pada antarmuka tersebut juga
terdapat combo box untuk memilih efek blur dan
3.2.2 Antarmuka Perangkat Lunak pilihan red eye reduction ataupun memunculkan
Antarmuka merupakan suatu media interaksi sebuah kotak dialog memilih warna. Pada interface
(interaktif) antara komputer dengan pemakai ini juga terdapat struktur dimana struktur menunya
(user). Pada sistem operasi yang berbasis grafis dapat digambarkan seperti terlihat pada Gambar
(graphic user interface atau GUI) seperti 3.8.
Windows, antarmuka dari suatu perangkat lunak
biasanya berupa jendela (window). Melalui jendela
inilah pemakai dapat berinteraksi dengan
perangkat lunak yang digunakannya. Gambar 3.3
di bawah ini adalah tampilan antar muka dari
perangkat lunak yang dirancng.
71 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
memiliki file citra yang akan dibuka. Pada saat Gambar 3.11 Rancangan Form Author
user menyimpan citra maka dapat menekan tombol
“Simpan” maka kotak dialog “Save As” akan IV. ALGORITMA DAN IMPLEMENTASI
dimunculkan. Gambar 3.10 4.1 Algoritma
memperlihatkan rancangan dialog pencetakan. Algoritma merupakan langkah-langkah
Adapun bentuk layout dari dialog pencetakan ini terstruktur maupun urutan bertahap dan spesifik
dapat dilihat pada gambar 3.10 dari suatu masalah, untuk menganalisa serta
menjelaskan urutan dan hubungan antara kegiatan-
kegiatan yang akan ditempuh untuk memecahkan
dan menyelesaikan suatu permasalahan sehingga
tercapai tujuan yang diinginkan. Berikut ini
merupakan algoritma-algoritma utama dari
program ini.
4.1.1 Algoritma Intensity Color Checking
Berikut ini adalah algoritma red eye
removal dengan menggunakan intensity checking.
For i = 0 To 2r – 1
For j = 0 To 2r – 1
pixelColor = GetPixel(i, j)
r = PixelColor Mod 256
g = (PixelColor \ 256) Mod 256
b = PixelColor \ 256) Mod 256
I = (R + G + B) \ 3
Gray = (222 * r + 707 * g + 71 * b) \ 1000
Gambar 3.10 Rancangan Dialog Pencetakan r = ABS (Gray – I)
Dalam dialog pencetakn terdapat pilihan g = ABS (Gray – I)
skala dan pengaturan citra dari tepi atas dan kiri b = ABS (Gray – I)
kertas serta jumlah cetakan yang akan dibuat. SetPixel i, j, RGB(r, g, b)
Selain itu juga terdapat opsi untuk mencetak ke Next J
seluruh bagian kertas ataupun pada tengah kertas. Next i
Pilihan untuk menentukan jenis printer dan jenis
kertas juga dapat dilakukan pada dialog ini. Jika 4.1.2 Aloritma Pemilihan Region
user menekan tombol “Print” maka akan Adapun algoritma untuk memilih region
dihasilkan pencetakan sesuai dengan opsi yang pada aplikasi red eye adalah sebagai berikut :
dipilih. Pilihan “Cancel” untuk kembali ketampilan Get X1, Y1, X2 , Y2
tentang Author yang berfungsi untuk menampilkan Midx = (X2 – X1) / 2
nama penulis serta keterangan programsecara Midy = (Y2 – Y1) / 2
singkat. Tampilan ini mamakai objek seperti R = Midy
image, label, dan command button. Bentuk layout Set X1, Y1, X2, Y2, r, CentrePoint
dari tampilan ini diperlihatkan pada gambar 3.11.
4.1.3 Algoritma Blur
Algoritma sederhana untuk efek blur ini
adalah sebagai berikut :
C = 10
For i = 0 to Width
For j = 0 to Height
RGB = GetPixel (i, j) dari citra
For k = -1 To 1
For 1 = -1 To 1
R1G1B1 = GetPixel (i,k j-1) dari citra
R = R + R1
G = G + G1
B = B + B1
Next 1
R=R/C
72 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
G=G/C
B=B/C
SetPixel (i, j, RGB) ke citra hasil
Next j
Next i
4.2 Implementasi
Implementasi sistem program ini
mencakup spesifikasi kebutuhan perangkat lunak
(software)
73 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
74 | P a g e
Sudi Suryadi Informatika : Jurnal Ilmiah AMIK Labuhan Batu
Vol.1 No.3 /September/2013
75 | P a g e