Potongan Program PERBESARAN DATA CITRA DIGITAL HASIL CROPPING DENGAN MENGGUNAKAN METODE HYBRID.

58

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. a. Membuka dan menyimpan file [namafile,direktori]=uigetfile{ .jpg ; .bmp }, Buka Gambar [namafile,direktori]=uiputfile{ .jpg ; .bmp }, SimpanGambar ; Fungsi “uigetfile” digunakan untuk membuka file. Fungsi “uigetfile” menghasilkan dua keluaran, yaitu variable namafile dan variable direktori. Variable namafile digunakan untuk menyimpan nama file yang dibuka dan variable direkori digunakan untuk menyimpan path direktori. Fungsi untuk menyimpan file adalah “uiputfile”. b. Mengambil data dan mengcrop gambar proyek=guidatagcbo; I=getproyek.original_image, Userdata ; gbr_crop=imcropI; setproyek.figUtama, CurrentAxes ,proyek.crop; setimshowgbr_crop; setproyek.figUtama, Userdata ,gbr_crop; setproyek.original_image, Userdata ,gbr_crop; Pada matlab, fungsi untuk mengambil data yang tersimpan pada properties userdata disuatu uicontrol fungsi yang digunakan adalah “get” sedangkan fungsi untuk meng – crop citra menggunakan fungsi “imcrop”. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 59 c. Mereplikasi matrik asli dan menentukan matrik mask kernel mereplikasi matrik asli dan menentukan mask kernel gambar=padarraygbr_crop,[1 1], replicate ; [b,k,j]=sizegambar; h=ones3,39; Mereplikasi matriks asli dilakukan untuk proses selanjutnya yaitu proses konvolusi agar pada waktu proses konvolusi matriks asli tidak kehilangan data keasliannya. Dalam proses konvolusi yang menggunakan low pass filter dengan filter rata – rata memerlukan matriks mask kernel, karena menggunakan low pass filter maka matriks mask kernel dengan jumlah mariks harus sama dengan satu. d. Mengalikan matriks asli dengan matriks mask kernel for klm=2:k-1 for brs=2:b-1 red1=gambarbrs-1,klm-1,1h1,1; red2=gambarbrs-1,klm,1h1,2; red3=gambarbrs-1,klm+1,1h1,3; red4=gambarbrs,klm-1,1h2,1; red5=gambarbrs,klm,1h2,2; red6=gambarbrs,klm+1,1h2,3; red7=gambarbrs+1,klm-1,1h3,1; red8=gambarbrs+1,klm,1h3,2; red9=gambarbrs+1,klm+1,1h3,3; Dalam aplikasi ini matriks asli akan dikalikan dengan matriks mask matriks kernel, perhitungan dimulai dari matriks hasil replikasi. Untuk citra dengan 24 bit maka perhitungan nilai RGB nya dihitung masing – masing setelah itu digabungkan dalam satu variable yang sama. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 60 e. Menentukan ratio dimensi lama dibandingkan dimensi baru menentukan ratio dimensi lama dibandingkan dimensi baru x_scale = x_newu-1; y_scale = y_newv-1; Perhitungan ratio digunakan untuk perhitungan selanjutnya, perhitungan ratio didapat dari x dan y yang baru. f. Menghitung nilai W dan H dan juga 4 nilai – nilai tetangganya for count1 = 0:x_new-1 for count2 = 0:y_new-1 W = -count1x_scale-floorcount1x_scale-1; H = -count2y_scale-floorcount2y_scale-1; hasil_red11 = baru1+floorcount1x_scale,1+floorcount2y_scale,1; hasil_red12 = baru1+ceilcount1x_scale,1+floorcount2y_scale,1; hasil_red21 = baru1+floorcount1x_scale,1+ceilcount2y_scale,1; hasil_red22 = baru1+ceilcount1x_scale,1+ceilcount2y_scale,1; Nilai W dan H digunakan digunakan untuk menghitung rumus bilinear interpolation yang sudah dijelaskan dalam bab – bab sebelumnya. Seperti yang telah ada rumus bilinear interpolation menggunakan 4 piksel tetangganya untuk mencari piksel – piksel baru. g. Menampilkan gambar --------------------MENAMPILKAN HASIL AKHIR ---------------- --- setproyek.figUtama, CurrentAxes ,proyek.original_image; setimshowselesai; setproyek.figUtama, Userdata ,selesai; setproyek.crop, Userdata ,selesai; Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 61 Didalam matlab fungsi untuk menampilkan gambar adalah “imshow”, gambar akan ditampilkan dalam figure utama dan ditampilkan dalam sebuah axes. h. Menghitung Nilai MSE dan PSNR ---------------menampilkan nilai MSE dan PSNR--------------- --- R_jalur_atas=hasil:,:,1; G_jalur_atas=hasil:,:,2; B_jalur_atas=hasil:,:,3; gray_jalur_atas =doubledoubleR_jalur_atas+doubleG_jalur_atas+doubleB_ja lur_atas3; MSE_jalur_atas = msegray_jalur_atas255; PSNR_jalur_atas = 10log102552MSE_jalur_atas; Menghitung nilai MSE dan PSNR terlebih dahulu menghitung derajat keabuannya dengan menghitung masing – masing nilai RGBnya.

4.3 Implementasi