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