Bab 2 Landasan Teori
2.7 Color Constancy
Color constancy atau ketetapan warna adalah salah satu keistimewaan dari sistem penglihatan manusia, yang mengusahakan agar warna yang diterima dari suatu benda terlihat sama meskipun berada pada kondisi pencahayaan yang berbeda-beda.
Salah satu faktor luar yang diakibatkan oleh pencahayaan akan menyebabkan sebuah benda mempunyai warna yang berbeda dari warna aslinya. Hal ini sering juga disebut dengan color constancy. Misalnya apel akan terlihat berwarna hijau pada saat siang hari dengan pencahayaan yang utama adalah putih matahari. Apel tersebut juga akan terlihat berwarna hijau pada saat matahari terbenam atau dengan pencahayaan berwarna merah. Hal ini yang membantu kita untuk mengidentifikasi suatu benda. Karena kelebihan dari color constancy itu, maka dikembangkan algoritma yang dapat mengakomodasikan color constancy sehingga dapat dimanfaatkan untuk sistem penglihatan pada robot ataupun computer vision. Algoritma ini dikenal dengan nama algoritma retinex (Adiprinata & Ballangan, 2006).
Metode Retinex ini dikemukakan oleh Edwin Land pada tahun 1971. Melalui eksperimen yang dilakukan olehnya, terlihat bahwa bahwa sistem penglihatan manusia mampu secara praktis mengenal dan mencocokkan warna-warna di bawah sebuah range illumination berbeda yang luas, hal ini dikenal dengan Color Constancy Phenomenon.
Teori Retinex berhubungan dengan kompensasi untuk efek illumination (pencahayaan) pada citra. Tujuan utama dalam metode Retinex adalah untuk memisahkan image S ke
dalam dua buah image yang berbeda, yaitu reflectance imageR dan illumination image L (Murinto & Wibowo, 2009).
Di bawah ini merupakan contoh citra sebelum diberi color constancy pada gambar 2.6dan citra setelah diberi color constancy pada gambar 2.7.
Gambar 2.6: Citra sebelum proses Color Constancy Gambar 2.7: Citra setelah proses Color Cinstancy
Pada gambar 2.6, dapat dilihat bahwa objek pada citra misalnya balon-balon yang menjadi warna merah tua dikarenakan kurangnya intensitas cahaya pada saat pengambilan citra, sehingga kualitas citra di atas menjadi kurang baik. Lalu pada gambar 2.7 adalah hasil citra setelah melalui proses color constancy dengan menggunakan LIP dapat dilihat bahwa warna balon-balon pada citra di atas menjadi lebih terang dan menyerupai warna aslinya tanpa mengubah warna dasar citra.
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Sebelum dilakukan tahap perancangan sebuah sistem, perlu dilakukan analisis sistem yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Tahap ini bertujuan memberikan gambaran yang jelas terhadap sistem yang akan dibangun. Tahap ini menjabarkan kebutuhan-kebutuhan yang berguna untuk perancangan sistem agar sistem yang dibangun sesuai dengan masalah yang akan diselesaikan.
3.2 Analisis Masalah
Masalah utama yang diangkat adalah konsistensi sebuah citra pada sistem pengolahan citra. Sistem pengolahan citra ini menggunakan metode Algorithmic Image Processing (LIP). Analisis masalah digambarkan dengan Diagram Ishikawa (fishbone Diagram) berikut ini. Bagian kepala atau segiempat yang berada di sebelah kanan merupakan masalah. Sementara di bagian tulang-tulangnya merupakan penyebab. Pemodelan diagram Ishikawa dapat dilihat pada Gambar 3.1 dibawah ini.
User
Material Machine/tools
Metode
Konsistensi Citra
Ketidakpuasan terhadap kualitas sebuah citra
C# File .Jpeg dan .bmp sebagai
file inputan
Logarithmic Image Processing
Text box, pop-up menu menerima
input
Menu LIP, menu help, menu About
3.3 Logarithmic Image Processing (LIP)
LIP adalah satu pendekatan baru secara matematis yang menyediakan kerangka garis besar representasi dan pemrosesan, antara lain logaritmatik citra dengan gray level
dalam 1 jangkauan terbatas. Dimana konsisten dengan non linier logaritmik pada system pengalihan manusia (human visual system) modifikasi citra tersebut diolah dengan menggunakan fungsi log yaitu memfungsikan batas-batas pixel yang mencolok dari gray scale agar bisa melihat pengaruh dari fungsi range (Murinto & Wibowo, 2009). Pada peneliatian ini, background sebuah citra sangat dipertimbangkan karena jika background citra sangat gelap maka citra akan dicerahkan dengan mengatur manual
α yang mewakilkan kontras gambar.
3.3.1 Menentukan Titik Tengah (Median)
Gambar 3.2 di bawah ini merupakan salah satu contoh citra dengan dimensi 3x3 pixel.
warna diluar citra
Citra dengan 3x3 pixel
Gambar 3.2Pixel citra awal
Berikut adalah proses perhitungan citra dengan LIP dimana α = 1,5 dan β = 0,5,
ukuran kernel 3x3. Sortir terhadap angka dilakukan secara ascending untuk mendapatkan titik tengahnya (median) dengan menggunakan rumus LIP (2). Maka didapat : • Ma (i,j) = 0, 0, 0, 0, 5, 4, 0, 7, 9 Ma (0,0) = 0, 0, 0, 0, 0, 4, 5, 7, 9 Ma (0,0) = 0 f (0,0) = 5 0 0 0 0 0 0 5 4 3 0 0 7 9 2 0 0 10 4 6 0 0 0 0 0 0
f (1,1) = 1,5 log (0+1)) + 0,5 [(log (5+1)) – (log (0+1))] = 1,5 log (1) + 0,5 [log (6) – log (1)]
= 1,5 (0) + 0,5 (0,6989) = 0 + 0,3494 = 0,3494 • Ma (i,j) = 0, 0, 0, 5, 4, 3, 7, 9, 2 Ma (0,0) = 0, 0, 0, 2, 3, 4, 5, 7, 9 Ma (0,0) = 3 f (0,0) = 4
f (1,2) = 1,5 (log (3+1)) + 0,5 [(log (4+1)) – (log (3+1))] = 1,5 log (4) + 0,5 [log(5) – (log (4)]
= 1,5 (0,6020) + 0,5 (0) = 0,903 + 0 = 0,903 • Ma (i,j) = 0, 0, 0, 4, 3, 0, 9, 2, 0 Ma (0,0) = 0, 0, 0, 0, 0, 2, 3, 4, 9 Ma (0,0) = 0 f (0,0) = 3
f (1,3) = 1,5 (log (0+1)) + 0,5 [(log (3+1)) – (log (0+1))] = 1,5 log (1) + 0,5 [log(4) – (log (1)]
= 1,5 (0) + 0,5 (0,4771) = 0 + 0,2385 = 0,2385 • Ma (i,j) = 0, 5, 4, 0, 7, 9, 0, 10, 4 Ma (0,0) = 0, 0, 0, 4, 4, 5, 7, 9, 10 Ma (0,0) = 4 f (0,0) = 7
f (2,1) = 1,5 (log (4+1)) + 0,5 [(log (7+1)) – (log (4+1))] = 1,5 log (5) + 0,5 [log(8) – (log (5)]
= 1,5 (0,6989) + 0,5 (0,4771) = 1,0483 + 0,2385
• Ma (i,j) = 5, 4, 3, 7, 9, 2, 10, 4, 6 Ma (0,0) = 2, 3, 4, 4, 5, 6, 7, 9, 10 Ma (0,0) = 5
f (0,0) = 9
f (2,2) = 1,5 log (5+1)) + 0,5 [(log (9+1)) – (log (5+1))] = 1,5 log (6) + 0,5 [log (10) – log (6)]
= 1,5 (0,7781) + 0,5 (0,6020) = 1,1671 + 0,301 = 1,4681 • Ma (i,j) = 4, 3, 0, 9, 2, 0, 4, 6, 0 Ma (0,0) = 0, 0, 0, 2, 3, 4, 4, 6, 9 Ma (0,0) = 3 f (0,0) = 2
f (2,3) = 1,5 log (3+1)) + 0,5 [(log (2+1)) – (log (3+1))] = 1,5 log (4) + 0,5 [log (3) – log (4)]
= 1,5 (0,6020) + 0,5 (-0,1249) = 0,903 – 0,0624 = 0,8406 • Ma (i,j) = 0, 7, 9, 0, 10, 4, 0, 0, 0 Ma (0,0) = 0, 0, 0, 0, 0, 4, 7, 9, 10 Ma (0,0) = 0 f (0,0) = 10
f (3,1) = 1,5 log (0+1)) + 0,5 [(log (10+1)) – (log (0+1))] = 1,5 log (0) + 0,5 [log (11) – log (0)]
= 1,5 (0) + 0,5 (1,0413) = 0 + 0,5206 = 0, 5206 • Ma (i,j) = 7, 9, 2, 10, 4, 6, 0, 0, 0 Ma (0,0) = 0, 0, 0, 2, 4, 6, 7, 9, 10 Ma (0,0) = 4 f (0,0) = 4
f (3,2) = 1,5 log (4+1)) + 0,5 [(log (4+1)) – (log (4+1))] = 1,5 log (5) + 0,5 [log (5) – log (5)]
= 1,0483
• Ma (i,j) = 9, 2, 0, 4, 6, 0, 0, 0, 0 Ma (0,0) = 0, 0, 0, 0, 0, 2, 4, 6, 9 Ma (0,0) = 0
f (0,0) = 6
f (3,3) = 1,5 log (0+1)) + 0,5 [(log (6+1)) – (log (0+1))] = 1,5 log (1) + 0,5 [log (7) – log (1)]
= 1,5 (0) + 0,5 (0,7781) = 0 + 0,3890
= 0,3890
Hasil pixel perbaikan citra setelah melalui proses LIP , maka didapatkan pixel
perbaikan seperti pada Tabel 3.1.
Tabel 3.1 Hasil citra 3x3 pixel dengan proses LIP
0,3494 0,903 0,2385 1,2868 1,4681 0,8406 0,5206 1,0483 0,3890
3.3.2 Analisis Persyaratan (Requirement Analysis)
Analisis ini bertujuan untuk mengidentifikasi dan menyatakan persyaratan apa saja yang akan dibutuhkan oleh sistem agar dapat berjalan sesuai dengan yang diharapkan. Analisis persyaratan terdiri atas dua bagian yaitu analisis fungsional (functional requirement) dan analisis nonfungsional (nonfunctional requirement). Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan/ disediakan oleh sebuah sistem, dan persyaratan nonfungsional berkaitan dengan fitur, kateristik, dan batasan lainnya yang menetukan apakah sistem memuaskan atau tidak. Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang
menjadi perhatian stakeholder sebuah sistem. Kedua analisis ini merupakan hal penting untuk menentukan hal-hal yang harus dimiliki sistem.
3.3.2.1Persyaratan Fungsional
Analisis fungsional dibutuhkan untuk mengetahui hal-hal yang bisa dikerjakan oleh sistem. Berikut dijabarkan fungsi-fungsi yang dapat dikerjakan oleh sistem. 1. Sistem akan melakukan konsistensi citra pada file berupa .jpeg dan .bmp
2. Sistem menghitung berapa lama waktu yang dibutuhkan dalam memproses seluruh kegiatan konsistensi citra dengan LIP.
3. Sistem melakukan konsistensi citra menggunakan Logarithmic Image Processing.
3.3.2.2Persyaratan Nonfungsional
Analisis nonfungsional berhubungan dengan hal-hal berikut ini: 1. Performa
Perangkat lunak yang akan dibangun dapat menunjukkan hasil citra sebelum dan sesudah diproses dengan LIP.
2. Mudah dipelajari dan digunakan
Perangkat lunak yang akan dibangun memiliki tampilan yang user friendly dan responsif.
3. Hemat biaya
Perangkat lunak yang dibangun akan memprmudah pengguna untuk efesiensi waktu, sehingga hemat biaya.
4. Dokumentasi
Perangkat lunak yang akan dibangun dapat menyimpan hasil konsistensi citra serta memiliki panduan penggunaan.
5. Kontrol
Perangkat lunak yang dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai.
3.3.3 Pemodelan Sistem dengan Use Case dan Activity Diagram
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang
dilakukan oleh sistem. Use case adalah salah satu pemodelan yang digunakan untuk memodelkan persyaratan sistem. Dengan use case ini digambarkan siapa saja yang berinteraksi dengan sistem dan apa saja yang dapat dilakukan dengan sistem.
Berdasarkan analisis kebutuhan sistem, secara garis besar sistem melakukan proses konsistensi citra dengan metode Logarithmic Image Processing.
Diagram use case yang dirancang sebagai pemodelan persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan didalamnya, dapat dilihat pada Gambar 3.3.
Generate p dan q
Authentication
User Input File
Generate bilangan acak Autentikasi <<uses>> <<extends>> <<extends>> Metode Lehhman <<extends>> <<extends>>
Feige Fiat Shamir <<extends>>
Konsistens Citra
Image
Enhancement Input File <<uses>>
<<extends>>
LIP <<extends>>
Gambar 3.3 Use case Diagram yang akan Dikembangkan
Diagram pada Gambar 3.4 menjelaskan aksi yang dapat dilakukan oleh user, user
melakukan input data dan memproses citra dengan metode Logarithmic Image Processing.
3.3.3.1 Use Case dan Activity Diagram LIP
Spesifikasi use case LIP dapat dilihat pada tabel 3.2.
Tabel 3.2 Spesifikasi Use Case LIP Name Logarithmic Image Processing
Trigger User meng-input file yang akan diproses
Preconditions -
Post Conditions System akan menampilkan pop-up window untuk pemilihan file
Success Scenario 1. User telah meng-inputkan file yang akan diproses 2. User mengakses tombol LIP.
3. Sistem akan menampilkan hasil citra yang telah diproses dengan LIP.
Alternative Flows -
Berikut adalah penjelasan dari tabel diatas:
1. Nama metode adalah Logarithmic Image Processing.
2. User sebagai actor.
3. Tidak tersedia preconditions.
4. Pada post conditions sistem akan menampilkan pop-upwindow untuk pemilihan file. 5. Pada success scenario terdapat proses:
a. User telah meng-inputkan file yang akan diproses b. User mengakses tombol LIP.
c. Sistem akan menampilkan hasil citra yang telah diproses dengan LIP.
Berikut ini adalah Activity diagram untuk proses LIP yang dapat dilihat pada Gambar 3.4.
User System
Input File Menampilkan pop-up window
untuk memilih citra
Menampilkan citra awal Mengakses tombol LIP
Menampilkan citra hasil
Gambar 3.4 ActivityDiagram untuk proses LIP
Penjelasan dari Activity Diagram diatas adalah pada saat User meng-input file maka sistem akan menampilkan pop-up window untuk memilih citra awal yang akan diolah lalu menampilkan citra awal tersebut. Setelah itu User akan mengakses tombol LIP maka citra akan diolah. Lalu sistem akan menampilkan citra hasil yang telah diolah.
3.3.4 Sequence Diagram Proses LIP
Adapun Sequence Diagram untuk Proses LIP dapat dilihat pada Gambar 3.5.
{}
Ambil Citra
Proses konsistensi citra
{} Hasil Perbaikan Citra
Input citra LIP
Actor
Gambar 3.5 Sequence Diagram Proses LIP
Dari sequnce diagram pada gambar 3.5 dapat dilihat bahwa citra diproses dengan metode LIP dengan menginput citra terlebih dahulu dan setelah proses LIP dapat ilakukan proses analisis akhir .
3.3.5 Flowchart Gambaran Umum dan Flowchart Pengolahan Citra dengan LIP
Secara umum proses yang dilakukan ini dapat dilihat pada flowchart gambaran umum pada Gambar 3.6.
Start Input File Citra(.jpg atau.bmp) End Tampilkan Citra hasil Pengolahan Citra Dengan LIP
Gambar 3.6 Flowchart Sistem
Flowchart di atas dapat dijelaskan sebagai berikut : 1. Pertama, program dimulai.
2. Kemudian, input citra yang akan diolah dengan format .bmp atau .jpg.
3. Citra akan diolah ketetapan warnanya menggunakan Logarithmic Image Processing
dengan proses yang telah ditentukan.
4. Setelah itu, hasil citra yang telah diolah dengan LIP akan ditampilkan. 5. Akhiri program.
Sedangkan secara khusus proses yang dilakukan dapat dilihat pada flowchart gambaran khusus Gambar 3.7.
start
α, β Citra input
Ubah citra ke dalam array
Array Pixel RGB i=0 j=0
f’ (i, j)=α log(Ma(i,j)+1)) + β[log(ḟ(i,j)+1)) - log(Ma(i,j)+1))] j<array pixel RGB.length() tidak Array result RGB
Ubah array result RGB menjadi citra hasil Citra hasil end ya i<array pixel RGB.length() ya tidak i=i+1 j=j+1
Penjelasan dari flowchart sistem secara khusus pada metode Logarithmic Image Processing adalah sebagai berikut:
1. Memulai program dengan menginput citra awal yang berformat .jpg dan .bmp. 2. Lalu citra akan diubah ke dalam bentuk array.
3. Ditemukan arraypixel Red, Green, Blue, dimana i=0 dan j=0.
4. Citra yang telah diubah menjadi array dan dikoreksi warnanya, diolah dengan
Logarithmic Image Processing dengan mencari nilai median untuk tiap warna R,G
dan B.
5. Jika ditemukan I dimana merupakan nilai byte citra yang jumlahnya 0 maka akan ditambah dengan 1 agar tidak tercapai nilai 1 dalam kondisi maksimum, selanjutnya akan diolah kembali oleh sistem. Begitu pula dengan J, yang jika ditemukan nilai 0
akan ditambah dengan 1untuk mencapai nilai 1 dalam kondisi maksimum.
6. Jika tidak ada nilai 0 maka dicari kembali nilai max dan min dari result array yang akan digunakan untuk proses recoloring. Dimana proses ini memastikan nilai-nilai yang ada didalam result array berada pada selang 0 – 255.
7. Selanjutnya resul array R,G dan B diubah menjadi citra hasil dan didapatkan citra hasil yang telah diberi color constancy.
3.3.6 Pseudocode LIP
Pseudocode yang digunakan untuk melakukan proses Logarithmic Image Processing
secara umum dapat dilihat sebagai berikut :
Begin
buffer[] = bitmap.getBuffer(); valueblue, valuegreen, valuered; medianblue, mediangreen, medianred; resultblue, resultgreen, resultred; for i = 0 to i < bitmap.width do begin for j = 0 to j < bitmap.height do begin medianblue = median(i, j, 0); mediangreen = median(i, j, 1); medianred = median(i, j, 2); valueblue = getvalue(i, j, 0); valuegreen = getvalue(i, j, 1); valuered = getvalue(i, j, 2); resultblue = alpa*Log(medianblue+1)+beta*(Log(valueblue) - Log(medianblue)); resultgreen = alpa*Log(mediangreen+1)+beta*(Log(valuegreen) - Log(mediangreen));
resultred = alpa*Log(medianred+1)+beta *(Log(valuered) - Log(medianred)); bufferPos = (i * 3) + (j * width * 3); result[bufferPos + 0] = resultblue; result[bufferPos + 1] = resultgreen; result[bufferPos + 2] = resultred; end; end; min = result.getMin(); max = result.getMax(); if max > 1 then begin factor = max; end; else begin factor = 1; end;
for i = 0 to i < result.Length do begin
result[i] = result[i] / factor; end;
min = result.getMin(); max = result.getMax();
for i = 0 to i+=3 < result.Length - 2 do begin blue = result[i + 0]; green = result[i + 1]; red = result[i + 2]; resultbufferbgr[i + 0] = reColoring(blue,min,max); resultbufferbgr[i + 1] = reColoring(green,min,max); resultbufferbgr[i + 2] = reColoring(red,min,max); end;
Pseudocode di atas menjelaskan proses sebagai berikut :
1. Pertama kali, citra bitmap sebagai input akan diambil nilai pixel-nya dan disimpan ke dalam bentuk byte[].
2. Kemudian akan dilakukan proses LIP ke seluruh pixel yang ada di dalam citra, dari
(0,0) sampai (width - 1,height - 1). Proses yang pertama kali dilakukan adalah mengambil nilai median pada koordinat (x,y) untuk tiap warna B, G dan R. Kemudian diambil nilai pixel pada koordinat (x,y). Setelah itu dilakukan proses LIP.
3. Setelah semua pixel selesai diproses, maka akan terbentuk result[] baru. Kemudian akan dicari nilai max dan min dari result[] tersebut.
4. Kemudian akan dicari factor pembagi yang akan digunakan untuk memastikan nilai-nilai byte dalam result[] hanya akan mencapai nilai 1 dalam kondisi maksimum. 5. Setelah itu dicari kembali nilai max dan min dari result[] yang akan digunakan untuk
proses recoloring. Dimana proses ini akan memastikan nilai-nilai yang ada di dalam
Berikut ini adalah pseudocode yang digunakan untuk mencari nilai median dari citra pada kernel :
begin
radius = (size - 1) / 2;
for baris = -radius to baris <= radius do begin
for kolom = -radius to kolom <= radius do begin
newX = x + baris; newY = y + kolom;
bufferPos = (newX * 3) + (newY * width * 3);
if (bufferPos < 0 || bufferPos >= width * height * 3) do begin
result[indexresult] = 0.0; end;
else begin
result[indexresult] += buffer[bufferPos + color]; end; indexresult++; end; end; return getMedian(result); end. getMedian(data[]) begin sorted = data.sortingData(); medianindex = (sorted.Length - 1) / 2; return sorted[medianindex]; end.
Pseudocode di atas dapat dijelaskan sebagai berikut:
1. Akan diambil data dari koordinat (x,y) dengan radius yang telah ditentukan. Pada kondisi ini, ukuran kernel yang digunakan adalah 3 x 3. Maka radius yang digunakan adalah (3-1)/2 = 1. Sehingga akan diperoleh data baru.
2. Kemudian akan dilakukan sorting data sebelum diperoleh nilai mediannya. Setelah itu, diperoleh sorted data sebagai data yang telah disorting.
3. Untuk mendapatkan nilai median dari data tersebut, dicari nilai tengah dari panjang data. Kemudian dikembalikan nilai pada sorted [median index] sebagai nilai median.
3.3.7 Rancangan Antar Muka
Sistem akan dibangun menggunakan bahasa pemrograman C# dengan menggunakan
software Microsoft Visual Studio. Rancangan antar muka akan disesuaikan dengan kebutuhan dan software yang digunakan. Antar muka menggunakan empat form, form
utama, form about, form Help, form metode LIP.
3.3.7.1Antar Muka Mainform
Pada Mainform user dapat memilih menu yang tersedia, antar muka mainform dapat dilihat pada Gambar 3.8.
X
__
Application
Implementasi Color Constancy menggunakan
Logarithmic Image Processing
Nama NIM
Lambang USU
DEPARTEMEN S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
4
5 1
2
3
Gambar 3.8 Rancangan Form Utama
Komponen yang dipakai untuk membangun antar muka Mainform pada gambar 3.9, dapat dilihat pada tabel 3.3.
Tabel 3.3 Rincian Rancangan Form Utama
No Tipe Teks Nama Keterangan
1 MenuStrip Application Menustrip1 Terdapat beberapa sub menu
2 Label Judul Label1 -
3 Label Nama, NIM Label2 -
4 PictureBox LambangUSU PictureBox1 -
5 Label Jurusan Label2 -
Tabel di atas dapat dijelaskan sebagai berikut:
1. Pada tipe MenuStrip diberi nama Application yang terdapat beberapa sub menu. 2. Pada tipe Label1 berisi Judul dari skripsi.
3. Sedangkan pada tipe Label2 berisi Nama dan NIM.
4. Pada tipe PictureBox terdapat lambang dari Universitas Sumatera Utara. 5. Pada tipe Label selanjutnya berisi nama Jurusan, yaitu Ilmu Komputer.
3.3.7.2Antar Muka FormLIP
Antar muka Form Proses LIP dapat dilihat pada rancangan Gambar 3.10.
Application Help __ X
Citra Awal Citra Hasil
Proses LIP 1 2 3 4 5 6 7 8 9 Buka Citra Simpan Citra
Gambar 3.10 dapat dijelaskan sebagai berikut:
1. MenuStrip yang diberi nama Application yang berisi beberapa submenu. 2. MenuStrip yang diberi nama Help yaitu menu bantuan atau panduan. 3. PictureBox untuk memuat citra sebelum melalui proses LIP.
4. PictureBox untuk memuat citra setelah melalui proses LIP.
5. Label Citra Awal untuk PictureBox citra sebelum proses LIP. 6. Label Citra Hasil untuk PictureBox citra setelah proses LIP.
7. Button Buka Citra untuk membuka file citra berformat .jpg dan .bmp yang akan diolah LIP.
8. Button Proses LIP untuk memulai proses LIP.
9. Selanjutnya yaitu Button Simpan Citra untuk menyimpan citra yang telah diolah dengan LIP.
Komponen yang dipakai untuk membangun antar muka Form LIP pada Gambar 3.10, dapat dilihat pada Tabel 3.4.
Penjelasan dari tabel 3.4 dibawah yaitu, pada MenuStrip terdapat beberapa submenu yaitu
Form About dan How To Use. Pada PictureBox pertama terdapat citra awal yang akan diolah dan pada PictureBox kedua terdapat citra hasil yang telah diolah.
Selanjutnya, terdapat label Citra Awal dan Citra Hasil. Terdapat PictureBox Buka Citra
untuk membuka file citra yang akan diproses, lalu PictureBox ProsesLIP untuk memproses file citra, dan PictureBox Simpan Citra untuk menyimpan citra yang telah diproses.
Tabel 3.4 Komponen pada Form LIP
No Tipe Teks Nama Keterangan
1 MenuStrip Application Menustrip1 Terdapat sub menu
2 MenuStrip Help MenuStrip2 Submenu untuk ke Form About dan How To use
3 PictureBox Citra Awal PBcitraAwal Menampilkan citra awal yang akan diproses
4 PictureBox Citra Hasil PBcitraHasil Menampilkan citra hasil yang sudah diproses
5 Label Citra Awal Label1 - 6 Label Citra Hasil Label2 -
7 PictureBox Buka Citra PBbukaCitra Membuka file citra yang akan diproses
8 PictureBox ProsesLIP PBprosesLIP Memproses file citra
9 PictureBox Simpan Citra PBsimpanCitra Menyimpan citra yang telah diproses
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Sistem
Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan hasil analisis dan perancangan sistem. Pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras, sehingga sistem yang dibangun dapat diselesaikan dengan baik.
Sistem ini dibangun dengan menggunakan Software Microsoft Visual Studio 2010 Version 10.0.030319.1 RTMRel. Pada sistem terdapat 4 halaman utama yang digunakan, terdiri dari:
1. Form Awal
2. Form Utama
3. Form About 4. Form How To Use
4.1.1 Tampilan Halaman Form Awal
Halaman Form Awal merupakan halaman yang muncul pertama sekali pada saat sistem dijalankan. Tampilan halaman form Awal dapat dilihat pada Gambar 4.1.
Gambar 4.1 Tampilan Halaman Form Awal
Halaman Form Awal terdapat 1 buah Menu yaitu tombol Application dimana terdapat 2 buah submenu yaitu submenu Logarithmic Image Processing yang akan menghubungkan pada proses LIP dan submenu Exit untuk keluar dari aplikasi.
4.1.2 Tampilan Halaman Form Utama
Halaman Form Utama merupakan halaman yang digunakan untuk melakukan proses
Logarithmic Image Processing. Pengguna dapat mengakses halaman form Utama
dengan cara memilih Logarithmic Image Processing pada Menu Application pada form
Awal. Pada menu Application terdapat 1 buah submenubar yaitu submenubar Exit
untuk keluar dari aplikasi. Tampilan halaman form utama dapat dilihat pada Gambar 4.2.
Gambar 4.2 Tampilan Form Utama
4.1.3 Tampilan Halaman FormAbout
Halaman menu About merupakan halaman yang digunakan untuk melihat informasi tentang program dan programmer, tampilan Menu About dapat dilihat pada Gambar 4.3 di bawah ini:
4.1.4 Tampilan Halaman Form How To Use
Halaman menu How To Use merupakan halaman yang berisikan panduan dalam menggunakan sistem ini. Pada halaman How To Use, dijelaskan langkah-langkah melakukan proses Color Constancy yang merupakan proses utama pada sistem ini. Tampilan halaman menu How To Use dapat dilihat pada Gambar 4.4 di bawah ini:
Gambar 4.4 Tampilan Halaman Form How To Use
4.2 Pengujian Sistem
Tahap pengujian sistem merupakan lanjutan dari tahap implementasi sistem. Fungsi dari tahap pengujian sistem adalah untuk membuktikan bahwa sistem yang telah diimplementasikan dari hasil analisis dan perancangan sistem telah berjalan dengan baik.
4.2.1 Pengujian Proses Open File
Pengujian proses open file dapat dilakukan dengan memilih tombol open file citra.
memilih citra yang akan diproses. Hasil pop-up window open file citra dapat dilihat pada Gambar 4.5 di bawah ini:
Gambar 4.5 Tampilan hasil open file citra
Setelah salah satu citra yang akan diproses telah dipilih maka citra akan ditampilkan pada picture box form utama, kemudian akan muncul window box yang menyatakan citra telah berhasil dibuka. Tampilan open file citra dapat dilihat pada gambar 4.6.
Setelah proses Open File Citra dilakukan maka pengguna dapat mengatur scrollbar
untuk menentukan kecerahan dan ketajaman gambar. Lalu tentukan persentase dari normalisasi warna secara manual agar warna yang dihasilkan lebih baik. Setelah itu