REFERENSI Dipokusumo, Bobby. 2004. Diktat Kuliah Fotogrametri . Bandung : Penerbit ITB, 2004. Dwi, Adhilaksana. 2007. Aplikasi Transformasi Wavelet Dalam Analisis Gerakan Kutub Rotasi Bumi. Bandung : Institut Teknologi Bandung, 2007. Ilham, Fahrizal. 2007. Kajian Metode Korelasi Nilai Rata-Rata Kanal Yang Diberi Bobot (Weighted Channel Mean Value) Pada Proses Pencocokan Citra (Image Matching) Foto Udara. Bandung : Institut Teknologi Bandung, 2007. Misiti, Michel, et al. 2004. Wavelet Toolbox: For Use With Matlab. California : Mathworks, 2004. Munir, Rinaldi. 2004. Pengolahan Citra Digital Dengan Pendekatan Algoritmik. Bandung : Penerbit Informatika, 2004. ISBN: 979-3338-29-6. Nievergelt, Yves. 1999. Wavelets Made Easy. Washington : Birkhauser, 1999. 0-81764016-4. Oppenheim, Alan, Willsky, Alan dan Nawab, Hamid. 1997. Signals and System. New Jersey : Prentice-Hall, 1997. 0-13-651175-9. Putra, Fajar. 2008. Mencari Teknik Korelasi Terbaik Pada Metode Pencocokan Citra Berbasiskan Area (Area Based Matching). Bandung : Institut Teknologi Bandung, 2008. Ratnadewi. 1999. Pengolahan Citra Dengan Memakai Transformasi Wavelet. Bandung : Institut Teknologi Bandung, 1999. Strang, Gilbert dan Nguyen, Truong. 1996. Wavelet and Filter Banks . Wellesley : Wellesley-Cambridge Press, 1996. 0-9614088-7-1. Wibowo, David Chandra. 2008. Aplikasi Teknik Maksimum Korelasi Untuk Pencocokan Citra Dijital (Digital Image Matching) Pada Citra Foto Homogen. Bandung : Institut Teknologi Bandung, 2008. Wolf, P. R. dan Dewitt, B. A. 2000. Elements of Photogrametry with Application in GIS. USA : McGraw-Hill Company, 2000. Yudianto, Bambang. 1997. Analisa Citra Menggunakan Transformasi Wavelet 2-D. Bandung : Institut Teknologi Bandung, 1997. Yuliestono, Andi. 2000. Aplikasi Transformasi Haar Wavelet Untuk Edge Detection. Bandung : Institut Teknologi Bandung, 2000.
43
LAMPIRAN A SCRIPT PROGRAM KORELASI
44
% Program pencocokan citra dengan menggunakan transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 clc; clear all; disp('<<< INPUT DATA SUB CITRA ACUAN (SCA) DAN CITRA PENCARIAN (CP) >>>'); filename=input('Nama File [Contoh 1A11x2101] : ','s'); filesca=[filename 'L.bmp']; filecp=[filename 'R.bmp']; filetxt=[filename '.txt']; im1=imread(filesca); im2=imread(filecp); fid=fopen(filetxt,'r'); S = fscanf(fid,'%d,%d'); cim1=S(1); rim1=S(2); cim2=S(3); rim2=S(4); disp(' '); disp('PILIHAN INDUK WAVELET : '); disp('1. Haar'); disp('2. Daubechies'); iw=input('pilih no. ? '); switch iw case 1 iws='haar'; case 2 iws='db'; ndb=input('Daubechies ke berapa [1-10] ? '); ndbs=num2str(ndb); iws=[iws ndbs]; otherwise disp('Unknown Method'); end pesan1='Pilihan Induk Wavelet adalah: '; pesan1=[pesan1 upper(iws)]; disp(pesan1); %Filtering maksimum level dekomposisi 45
[b1 k1]=size(im1); [b2 k2]=size(im2); s1=[2^b1 2^k1]; s2=[2^b2 2^k2]; maxl1=wmaxlev(min(s1),iws); maxl2=wmaxlev(min(s2),iws); % maxlev=['Level Dekomposisi Maksimal SCA : ' num2str(maxl1) ', ' 'Level Dekomposisi Maksimal CP : ' num2str(maxl2) '.']; maxlev=['Level Dekomposisi Maksimal : ' num2str(maxl1)]; disp(maxlev); lvl=input('Jumlah level dekomposisi yang di inginkan : '); if (lvl > maxl1) % Masih butuh pengujian mana yang menjadi batas maksimum level pesanerr2='Level Dekomposisi Citra melebihi batas level maksimal'; error(pesanerr2); end % Konversi dari uint8 ke double im1=double(im1); im2=double(im2); % Mengecek Jumlah Kanal kanal1=size(im1,3); kanal2=size(im2,3); if (kanal1 < 3)|(kanal2 < 3) error('Citra ini bukan citra 3 kanal RGB'); end % menghitung waktu awal proses t1=clock; % menghitung nilai korelasi maksimum yang sebelum transformasi wavelet [vcormaxs rowlks collks]=korelasi(im1,im2); % menghitung nilai korelasi maksimum dalam ruang/domain wavelet 2D [vcormax rowlk collk]=korwt2D(im1,im2,lvl,iws); % menentukan ukuran SCA dan CP usca=size(im1(:,:,1)); ucp=size(im2(:,:,1)); % Transformasi dari posisi lokal ke posisi global [prows pcols]=tplokglo(rowlks,collks,usca,ucp,rim2,cim2); [prow pcol]=tplokglo(rowlk,collk,usca,ucp,rim2,cim2);
46
% disp(' '); % disp('[ nilai korelasi baris kolom ] sebelum transformasi wavelet'); [vcormaxs prows(1) pcols(1)]; % disp('[ nilai korelasi baris kolom ] setelah transformasi wavelet'); [vcormax prow(1) pcol(1)]; etime(clock,t1); wp=clock-t1; waktu=(wp(4)*3600)+(wp(5)*60)+wp(6); disp('=========================Terima Kasih==========================='); filehasil=[filename 'H.txt']; fid=fopen(filehasil,'w'); fprintf(fid,'HASIL PERCOBAAN \n'); fprintf(fid,'Nama File Hasil : %s \n',upper(filehasil)); fprintf(fid,'Induk Wavelet menggunakan : %s \n',upper(iws)); fprintf(fid,'Level Dekomposisi : %d \n',lvl); fprintf(fid,'\n'); fprintf(fid,'POSISI AWAL KIRI \n'); fprintf(fid,'%d \n',cim1); fprintf(fid,'%d \n',rim1); fprintf(fid,'\n'); fprintf(fid,'POSISI AWAL KANAN \n'); fprintf(fid,'%d \n',cim2); fprintf(fid,'%d \n',rim2); fprintf(fid,'\n'); fprintf(fid,'POSISI HASIL KORELASI SEBELUM TRANSFORMASI \n'); fprintf(fid,'%2.4f \n',vcormaxs); fprintf(fid,'%d \n',pcols(1)); fprintf(fid,'%d \n',prows(1)); fprintf(fid,'\n'); fprintf(fid,'POSISI HASIL KORELASI SETELAH TRANSFORMASI \n'); fprintf(fid,'%2.4f \n',vcormax); fprintf(fid,'%d \n',pcol(1)); fprintf(fid,'%d \n',prow(1)); fprintf(fid,'\n'); fprintf(fid,'WAKTU PROSES KORELASI \n'); fprintf(fid,'%2.4f detik ',waktu); fclose(fid);
47
% Fungsi pemisahan kanal citra RGB % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function [R G B]=chsepRGB(im) nkanal=size(im,3); if (nkanal < 3) message1='Citra Bukan 3 Kanal'; error(message1); end R=im(:,:,1); G=im(:,:,2); B=im(:,:,3); % Fungsi pencocokan citra sebelum transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function [vcormax rowlk collk]=korelasi(im1,im2) % pemisahan kanal RGB [R1 G1 B1]=chsepRGB(im1); [R2 G2 B2]=chsepRGB(im2); % menghitung korelasi masing-masing kanal korR =kpc(R1,R2); korG =kpc(G1,G2); korB =kpc(B1,B2); % menghitung berat masing-masing kanal wR=std2(R1); wG=std2(G1); wB=std2(B1); % menghitung nilai korelasi maksimum yang diberi bobot dengan rumus % kortotal=wR*korR + wG*korG + wB*korB /wR+wG+wB Mkortotal=(wR*korR+wG*korG+wB*korB)/(wR+wG+wB); [vcormax rowlk collk]=maxcor(Mkortotal);
48
% Fungsi pencocokan citra setelah transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function [vcormax rowlk collk]=korwt2D(im1,im2,lvl,iws) % pemisahan kanal RGB [R1 G1 B1]=chsepRGB(im1); [R2 G2 B2]=chsepRGB(im2); % menghitung korelasi masing-masing kanal korR =kwave(R1,R2,lvl,iws); korG =kwave(G1,G2,lvl,iws); korB =kwave(B1,B2,lvl,iws); % menghitung berat masing-masing kanal wR=std2(R1); wG=std2(G1); wB=std2(B1); % menghitung nilai korelasi maksimum yang diberi bobot dengan rumus % kortotal=wR*korR + wG*korG + wB*korB /wR+wG+wB Mkortotal=(wR*korR+wG*korG+wB*korB)/(wR+wG+wB); [vcormax rowlk collk]=maxcor(Mkortotal); % Fungsi pencarian nilai korelasi dari citra yang dipasangkan sebelum transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function kor=kpc(imk1,imk2); [b1 k1]=size(imk1); [b2 k2]=size(imk2); nbaris=b2-b1+1; nkolom=k2-k1+1; imk2sca=imk1; for i=1:nbaris for j=1:nkolom imk2scp(:,:,i,j)=imk2(i:i+b1-1,j:j+k1-1); kor(i,j)=corr2(imk2sca,imk2scp(:,:,i,j)); end; end;
49
% Fungsi pencarian nilai korelasi dari citra yang dipasangkan setelah transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function kor=kwave(imk1,imk2,lvl,iws); [b1 k1]=size(imk1); [b2 k2]=size(imk2); nbaris=b2-b1+1; nkolom=k2-k1+1; imk2sca=imk1; for i=1:nbaris for j=1:nkolom imk2scp(:,:,i,j)=imk2(i:i+b1-1,j:j+k1-1); imk2scpwv=twv(imk2scp(:,:,i,j),lvl,iws); imk2scawv=twv(imk2sca,lvl,iws); kor(i,j)=corr2(imk2scawv,imk2scpwv); end; end; % Fungsi transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function [imk2scawv imk2scpwv]=twave(imk1,imk2,lvl,iws); [b1 k1]=size(imk1); [b2 k2]=size(imk2); nbaris=b2-b1+1; nkolom=k2-k1+1; imk2sca=imk1; imk2scp=imk2; imk2scpwv=twv(imk2scp,lvl,iws); imk2scawv=twv(imk2sca,lvl,iws); % Fungsi penurunan level dekomposisi pada transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function A0=twv(sca,lvl,iws) sX=size(sca); %pemilihan level wavelet dengan switch case 50
switch lvl case 1 [cA1 cH1 cV1 cD1]=dwt2(sca,iws); [cH1 cV1 cD1]=modwt(cH1,cV1,cD1); A0=idwt2(cA1,cH1,cV1,cD1,iws,sX); case 2 [cA01 cH01 cV01 cD01]=dwt2(sca,iws); [cA1 cH1 cV1 cD1]=dwt2(cA01,iws); [cH1 cV1 cD1]=modwt(cH1,cV1,cD1); A0=idwt2(cA1,cH1,cV1,cD1,iws,sX); case 3 [cA01 cH01 cV01 cD01]=dwt2(sca,iws); [cA12 cH12 cV12 cD12]=dwt2(cA01,iws); [cA1 cH1 cV1 cD1]=dwt2(cA12,iws); [cH1 cV1 cD1]=modwt(cH1,cV1,cD1); A0=idwt2(cA1,cH1,cV1,cD1,iws,sX); case 4 [cA01 cH01 cV01 cD01]=dwt2(sca,iws); [cA12 cH12 cV12 cD12]=dwt2(cA01,iws); [cA13 cH13 cV13 cD13]=dwt2(cA12,iws); [cA1 cH1 cV1 cD1]=dwt2(cA13,iws); [cH1 cV1 cD1]=modwt(cH1,cV1,cD1); A0=idwt2(cA1,cH1,cV1,cD1,iws,sX); otherwise disp('diluar level dekomposisi yang telah ditentukan'); end % Fungsi modifikasi transformasi wavelet % Nama : Muhammad Aldien Said % NIM : 15103039 % Jurusan : Teknik Geodesi dan Geomatika ITB % 2008 function [cH1 cV1 cD1]=modwt(cH1,cV1,cD1); fx=10; meancH1=mean2(cH1); meancV1=mean2(cV1); meancD1=mean2(cD1); cH1n=cH1-meancH1; cV1n=cV1-meancV1; cD1n=cD1-meancD1; cH1=(cH1n*fx)+mean2(cH1n); cV1=(cV1n*fx)+mean2(cV1n); cD1=(cD1n*fx)+mean2(cD1n); 51
LAMPIRAN B DAFTAR DATA VALIDASI
52
- Data validasi Heterogen Prem 1 Point ID Photo X Photo Y 1101 TP ITB2-05 1003.0 102.0 1101 TP ITB2-06 373.2 163.8 1102 TP ITB2-05 956.0 388.0 1102 TP ITB2-06 325.4 442.4 Homogen Prem 1 1201 TP ITB2-05 732.0 88.0 1201 TP ITB2-06 126.0 153.0 1202 TP ITB2-05 799.0 428.0 1202 TP ITB2-06 171.0 484.0 ------------------------------------------Heterogen Prem 2 2101 TP ITB2-05 1462.0 173.5 2101 TP ITB2-06 812.1 224.3 2102 TP ITB2-05 1194.0 435.0 2102 TP ITB2-06 554.5 486.5 Homogen Prem 2 2201 TP ITB2-05 1171.0 186.0 2201 TP ITB2-06 551.5 244.5 2202 TP ITB2-05 1393.0 369.0 2202 TP ITB2-06 741.0 419.0 --------------------------------------------Heterogen Prem 3 3101 TP ITB2-05 1836.0 162.0 3101 TP ITB2-06 1217.1 205.5 3102 TP ITB2-05 1769.0 453.5 3102 TP ITB2-06 1128.5 500.5 Homogen Prem 3 3201 TP ITB2-05 1788.3 117.5 3201 TP ITB2-06 1171.3 162.2 3202 TP ITB2-05 1857.0 308.0 3202 TP ITB2-06 1240.0 352.0 ---------------------------------------------Heterogen Prem 4 4101 TP ITB2-05 870.0 610.0 4101 TP ITB2-06 229.0 658.8 4102 TP ITB2-05 1040.0 688.8 4102 TP ITB2-06 399.0 736.8 Homogen Prem 4 4202 TP ITB2-05 898.0 796.0 4202 TP ITB2-06 254.5 839.0 4201 TP ITB2-06 382.5 689.0 4201 TP ITB2-05 1018.5 641.0 ----------------------------------------------
53
Heterogen Prem 5 5101 TP ITB2-05 1191.8 723.5 5101 TP ITB2-06 548.5 771.0 5102 TP ITB2-05 1483.8 814.0 5102 TP ITB2-06 831.3 863.0 Homogen Prem 5 5201 TP ITB2-05 1383.0 666.0 5201 TP ITB2-06 737.5 715.0 5202 TP ITB2-05 1296.0 913.0 5202 TP ITB2-06 648.0 960.0 -------------------------------------------Heterogen Prem 6 6101 TP ITB2-05 1822.0 838.0 6101 TP ITB2-06 1179.8 889.7 6102 TP ITB2-05 1686.8 789.2 6102 TP ITB2-06 1044.0 839.2 Homogen Prem 6 6201 TP ITB2-05 1699.0 626.0 6201 TP ITB2-06 1059.8 675.3 6202 TP ITB2-05 1755.0 858.0 6202 TP ITB2-06 1113.3 910.5 --------------------------------------------Heterogen Prem 7 7101 TP ITB2-05 933.0 1162.3 7101 TP ITB2-06 282.8 1199.5 7102 TP ITB2-05 937.5 1282.0 7102 TP ITB2-06 293.8 1316.8 Homogen Prem 7 7201 TP ITB2-05 918.0 1185.0 7201 TP ITB2-06 270.8 1221.3 7202 TP ITB2-05 964.3 1388.0 7202 TP ITB2-06 315.0 1422.3 --------------------------------------------Heterogen Prem 8 8101 TP ITB2-05 1244.0 1205.0 8101 TP ITB2-06 596.0 1249.0 8102 TP ITB2-05 1487.0 1330.0 8102 TP ITB2-06 838.0 1380.3 Homogen Prem 8 8201 TP ITB2-05 1422.0 1031.0 8201 TP ITB2-06 771.7 1079.8 8202 TP ITB2-05 1451.0 1237.0 8202 TP ITB2-06 801.0 1287.5 --------------------------------------------Heterogen Prem 9 9101 TP ITB2-05 1712.0 1043.0 9101 TP ITB2-06 1064.0 1097.1
54
9102 9102 Homogen Prem 9 9202 9202 9201 9201
TP TP
ITB2-05 ITB2-06
1813.5 1170.0
1220.0 1278.0
TP TP TP TP
ITB2-05 ITB2-06 ITB2-05 ITB2-06
1711.0 1068.5 1750.0 1107.0
1371.0 1429.0 1106.0 1161.5
55