Kebutuhan Sistem Potongan Program

BAB IV IMPLEMENTASI DAN EVALUASI

4.1 Kebutuhan Sistem

Sebelum melakukan implementasi dan menjalankan aplikasi untuk pembesaran citra grayscale, dibutuhkan spesifikasi perangkat keras dan perangkat lunak dengan kondisi tertentu agar dapat berjalan dengan baik. Berikut ini adalah perangkat keras yang digunakan untuk menjalankan aplikasi pembesaran citra grayscale: a. Komputer dengan prosesor Dual Core. b. Memori 1 GB. Kebutuhan perangkat lunak yang digunakan untuk menjalankan aplikasi pembesaran citra grayscale ini adalah sebagai berikut : a. Sistem Operasi Microsoft Windows XP Profesional SP2. b. Matlab 7.1

4.2 Potongan Program

Dalam sub bab ini akan dijelaskan mengenai beberapa potongan program matlab sebagai implementasi dari algoritma yang sudah dijelaskan pada bab sebelumnya. 54 a. Perhitungan C L dan C R menghitung CL secara horisontal if n-1iterKolomn+1=K CLj=Im,n-Im,n-1+Im,n+12 elseif n-1==iterKolom nK CLj=Im,n-Im,n+Im,n+12 elseif n+1K CLj=Im,K-Im,K-1+Im,K2 end menghitung CR secara horisontal if n+2=K CRj=Im,n+1-Im,n+Im,n+22 elseif n+1==K CRj=Im,n+1-Im,n+Im,n+12 elseif n+1K CRj=0 end menghitung CL secara vertika l if m-1iterBarism+1=B CLi=Im,n-Im-1,n+Im+1,n2 elseif m-1==iterBaris mB CLi=Im,n-Im,n+Im+1,n2 elseif m+1B CLi=IB,n-IB-1,n+IB,n2 end menghitung CR secara vertikal if m+2=B CRi=Im+1,n-Im,n+Im+2,n2 elseif m+1==B CRi=Im+1,n-Im,n+Im+1,n2 elseif m+1B CRi=0 end Menghitung C L dan C R dilakukan secara horizontal dan secara vertical. C L dan C R merupakan perhitungan awal untuk menghitung EASE 1D. Untuk menghitung C L dan C R dapat memanfaatkan 2 piksel yang berdekatan dan sejajar. Jika nilai–nilai piksel yang diperlukan dalam menghitung C L dan C R tidak ditemukan, maka nilai-nilai piksel tersebut dapat digantikan dengan nilai-nilai piksel yang terdekat. b. Perhitungan minmod C L dan C R menghitung minmod secara horisontal if CLjCRj0absCLj=absCRj minmodj=CLj elseif CLjCRj0absCLjabsCRj minmodj=CRj elseif CLjCRj=0 minmodj=0 end menghitung minmod secara vertikal if CLiCRi0absCLi=absCRi minmodi=CLi elseif CLiCRi0absCLiabsCRi minmodi=CRi elseif CLiCRi=0 minmodi=0 end Perhitungan minmod antara C L dan C R juga dilakukan secara horizontal dan vertical, dengan menghitung nilai minimal dan positif antara C L dan C R . c. Perhitungan U i+jk dalam EASE 1D menghitung Ui 1D secara horisontal if n==K c nK if minmodj==CLjCLj~=0 baruiterBarisk+1,x=1- jkIm,n+jkIm,n+minmodjjk1-jk elseif minmodj==CRjCRj~=0 j=j+1; baruiterBarisk+1,x=1- jkIm,n+jkIm,n+minmodjjk1-jk elseif minmodj==0 baruiterBarisk+1,x=1-jkIm,n+jkIm,n end else a if minmodj==CLjCLj~=0 baruiterBarisk+1,x=1- jkIm,n+jkIm,n+1+minmodjjk1-jk elseif minmodj==CRjCRj~=0 baruiterBarisk+1,x=1- jkIm,n+jkIm,n+1+minmodjjk1-jk elseif minmodj==0 baruiterBarisk+1,x=1-jkIm,n+jkIm,n+1 end end menghitung ui 1D secara vertikal if m==B c mB if minmodi==CLiCLi~=0 baruy,iterKolomk+1=1- jkIm,n+jkIm,n+minmodijk1-jk elseif minmodi==CRiCRi~=0 j=j+1; baruy,iterKolomk+1=1- jkIm,n+jkIm,n+minmodijk1-jk elseif minmodi==0 baruy,iterKolomk+1=1-jkIm,n+jkIm,n end else a if minmodi==CLiCLi~=0 baruy,iterKolomk+1=1- jkIm,n+jkIm+1,n+minmodijk1-jk elseif minmodi==CRiCRi~=0 baruy,iterKolomk+1=1- jkIm,n+jkIm+1,n+minmodijk1-jk elseif minmodi==0 baruy,iterKolomk+1=1-jkIm,n+jkIm+1,n end end Perhitungan U i+jk dalam EASE 1D merupakan perhitungan piksel–piksel pada interpolasi EASE 1D, yang diletakkan di antara piksel asli baik secara horizontal maupun vertical. Jika nilai-nilai piksel yang diperlukan dalam perhitungan ini tidak ditemukan, maka nilai-nilai piksel tersebut dapat digantikan dengan nilai-nilai piksel lain yang terdekat. d. Perhitungan D1, D2, D3 dan D4 if mB nK D1=absIm,n+1+2kn+Im+1,n+1-Im,n-2kr-Im+1,n D2=sqrt2absa+Im,n+1+kn-kr-Im+1,n-b D3=absIm,n+2a+Im,n+1-Im+1,n-2b-Im+1,n+1 D4=sqrt2absa+Im,n+kr-kn-Im+1,n+1-b elseif mB n=K D1=absIm,n+2kr+Im+1,n-Im,n-2kr-Im+1,n D2=sqrt2absa+Im,n+kr-kr-Im+1,n-b D3=absIm,n+2a+Im,n-Im+1,n-2b-Im+1,n D4=sqrt2abskr+Im,n+a-kr-Im+1,n-b elseif m=B nK D1=absIm,n+1+2kn+Im,n+1-Im,n-2kr-Im,n D2=sqrt2absa+Im,n+1+kn-kr-Im,n-a D3=absIm,n+2a+Im,n+1-Im,n-2a-Im,n+1 D4=sqrt2absa+Im,n+kr-a-Im,n+1-kn elseif m=B n=K D1=absIm,n+2kr+Im,n-Im,n-2kr-Im,n D2=sqrt2absa+Im,n+kr-kr-Im,n-a D3=absIm,n+2a+Im,n-Im,n-2a-Im,n D4=sqrt2abskr+Im,n+a-kr-Im,n-a Dalam perhitungan D1, D2, D3, dan D4 diperlukan suatu titik tengah antara piksel asli baik secara vertical maupun horizontal. Jika tidak menemukan titik tengah tersebut, dapat dialihkan dengan mencari nilai rata-rata pada dua piksel terdekat di bagian tengah. e. Perhitungan Dp dan Dq menghitung Dp dan Dq Dp=minD1,D3 Dq=minD2,D4 Dp dan Dq diperoleh dari perhitungan minimal dan positif minmod dari nilai D1, D2, D3 dan D4. Untuk nilai Dp diperoleh dari minmod D1 dan D3, sedangkan untuk nilai Dq diperoleh dari minmod D2 dan D4. f. Perhitungan L1, L2, L3 dan L4 if mB nK L1=1-1kceilbarumk-2+i,nk-2+1kbarumk- 2+i,nk+1; L2=1-1kceilbarumk-i,nk-2+1kbarumk- 2,nk-2+j; L3=1-1kceilbarumk-2,nk- 2+j+1kbarumk+1,nk-2+j; L4=1-1kceilbarumk-2,nk- 2+1kbarumk+i,nk+j; elseif mB n=K L1=1-1kceilbarumk-2+i,nk-2+1kbarumk- 2+i,nk-2; L2=1-1kceilbarumk-2,nk-1+1kbarumk- 1+i,nk-2; L3=1-1kceilbarumk-2,nk- 2+j+1kbarumk+1,nk-2+j; L4=1-1kceilbarumk-2,nk- 2+1kbarumk+i,nk; elseif m=B nK L1=1-1kceilbarumk-2+i,nk-2+1kbarumk- 2+i,nk+1; L2=1-1kceilbarumk-2,nk-1+j+1kbarumk- 1+i,nk-2; L3=1-1kceilbarumk-2,nk-2+j+1kbarumk- 2,nk-2+j; L4=1-1kceilbarumk-2,nk- 2+j+1kbarumk,nk+j; elseif m=B n=K L1=ceilbarumk-2+i,nk-2; L2=Im,n; L3=ceilbarumk-2,nk-2+j; L4=Im,n; Perhitungan L1 diperoleh dari hasil merata-rata piksel tetangga secara horizontal. Sedangkan untuk L2, diperoleh dengan cara merata-rata piksel tetangga secara diagonal dari arah kiri atas ke kanan bawah. Untuk hasil L3 diperoleh dari perhitungan merata-rata piksel tetangga secara vertical. Kebalikan dari perhitungan L2, yaitu merata-rata piksel tetangga secara diagonal dari arah kanan atas ke kiri bawah adalah cara untuk menghitung L4. g. Perhitungan Lp dan Lq menghitung Lp dan Lq Lp=minL1,L3 Lq=minL2,L4 Lp dan Lq diperoleh dari perhitungan minimal dan positif minmod dari nilai L1, L2, L3 dan L4. Untuk nilai Lp diperoleh dari minmod L1 dan L3, sedangkan untuk nilai Dq diperoleh dari minmod L2 dan L4. h. Perhitungan U i+jk dalam EASE 2D menghitung Ui 2D baruiterBarisk+1+i,iterKolomk+1+j=sqrt2DqLp+Dp LqDp+sqrt2Dq Perhitungan U i+jk dalam EASE 2D merupakan perhitungan piksel–piksel pada interpolasi EASE 2D, yang menggunakan nilai perhitungan dari Dp, Dq, Lp dan Lq. Jika pada perhitungan piksel tepi tidak ditemukan piksel yang terkait, maka dapat digunakan piksel terdekat untuk menggantikannya. i. Mengambil dan Menampilkan Citra proyek=guidatagcbo; I = getproyek.GbrAsli, Userdata ; [B,K,L]=sizeI; baru = zerosBk,Kk,L; T=baru; S=uint8T; figure; setimshowS; Pada matlab, fungsi untuk mengambil citra atau gambar adalah dengan menggunakan fungsi “get”. Sedangkan untuk menampilkan citra menggunakan fungsi “imshow”.

4.3 Implementasi Antarmuka