UNIVERSITAS GUNADARMA FAKULTAS TEKNOLOGI INDUSTRI
PENGANTAR PENGANTAR PENGOLAHAN CITRA “Operasi Geometri (Translasi, Rotasi, Flipping, Scalling)”
KELOMPOK 6: -
ABDU ABDUL L MAJI MAJID D RIJA RIJA
(504 (5041 11020 020
-
OKVR OK VRIN IN BE BELD LDA AS
(554 (5541 1145! 45!
-
MUMH MUMHAN ANA A ARTA RTANTI NTI
(554 (5541 110"4 0"4
-
EMAN SULAEMAN
(5241142"
-
ANUG ANUGER ERAH AH BINT BINTA ANG P
(5041 (50411 1##4 ##4
-
$UDI $UDIST STIR IRA A NARA NARA %
(5&4 (5&41 116"1 6"1
D')* : Dr. Bertalya, SKom, DEA.
U*+,)+./ G*/// 2014 OPERASI GEOMETRI PADA PADA CITRA
F3++* T/*3/+ R'./+ P)*7/3//*
18
F3++* (P)*9)+*/*
Operasi Pencerminan merupakan salah satu operasi geometri yang paling sederhana , karena tidak terjadi perubahan ukuran citra dan hasil pemetaan selalu menghasilkan koordinat titik berupa bilangan bulat, sehingga tidak memerlukan interpolasi nilai keabuan. Efek operasi pencerminan adalah berubahnya orientasi citra baik secara horisontal, vertikal, maupun gabungan keduanya. Pada pencerminan secara horisontal, koordinat y tetap, sedangkan koordinat x dicerminkan. Rumus yang digunakan untuk mencerminkan koordinat x terhadap sumbu y adalah : x ! "x #arena koordinat hasil $x% bernilai nol atau positif, maka koordinat asal $x% yang diperoleh dari rumus tersebut akan bernilai negatif. Oleh karena itu rumus tersebut dimodifikasi agar x selalu positif. &al ini dilakukan dengan melakukan pencerminan terhadap garis vertikal di tengah citra $pada koordinat xc% 'lipping adalah operasi pencerminan $image reflection%. (da ) macam flipping : horisontal dan vertikal a. (sli b. flip hori*ontal c. flip vertikal 'lipping hori*ontal adalah pencerminan pada sumbu + $cartesian% dari citra ( menjadi citra , yang diberikan oleh -x-y ! (-/"x-y 'lipping vertikal adalah pencerminan pada sumbu 0 $cartesian% dari citra ( menjadi citra , yang diberikah oleh -x-y ! (-x-1"y
Pencerminan pada titik asal $cartesian% dari citra ( menjadi citra :
-x-y ! (-/"x-1"y Pencerminan pada garis x!y dari citra ( menjadi citra : -x-y ! (-y-x
void translasi(Citra A, Citra B,int N,int M) /* flipping vertikal (pencerminan terhadap sumbu ) */ ! int i, ", k# k$M%& for (i$'# i$N% i) ! for ("$'# "$M% ") ! Bk+"+$Ai+"+# k%%#
28
O)/+ 9'+* (T/*3/+
2ropping adalah memotong satu bagian dari citra sehinggga diperoleh citra yang berukuran lebih kecil. Operasi ini pada dasarnya adalah operasi translasi, yaitu menggeser koordinat titik citra. Rumus yang digunakan untuk operasi ini adalah : x ! x 3 x4 untuk x ! x4 sampai xR y ! y 3 y4 untuk y ! x5 sampai x $x4,y5% dan $xR,y%, masing"masing adalah koordinat titik pojok kiri atas dan pojok kanan ba6ah bagian citra yang hendak di"crop.
7kuran citra berubah menjadi
h ! y " y5 dan transformasi baliknya adalah 8 x ! x 9 x4 untuk x ! sampai 6"; y ! y 9 x5 untuk y ! sampai h";
void translasi(Citra A, Citra B,int N,int M, int n int m) /*Mentranslasi citra A se"auh m,n -asil translasi disimpan di dalam B. kuran citra adalah N M */ ! int i, ",n# for (i$'# i$N% i) for ("$'# "$M% ") ! Bi+"+$Aim+"n+# citra semula hasil translasi dengan m!)< n!)=
"8
O)/+ )*7/3//* (9/3+*
Operasi penskalaan $scaling% dimaksudkan untuk memperbesar atau memperkecil citra. &al ini dapat dilakukan dengan mengintroduksi parameter skala, baik kearah horisontal $>x% maupun vertikal $>y%. >kala yang bernilai lebih dari ; akan memperkecil citra. (pabila aspect ratio $perbandingan antara tinggi dan lebar citra% hendak dipertahankan, maka dipilih >x ! >y. Penskalaan citra disebut image *ooming yaitu pengubahan ukuran citra $membesar?*oom out atau mengecil?*oom in%
Rumus penskalaan : x!sx . x sx : faktor skala arah x y!sy . y sy : faktor skala arah y Operasi *oom out $pembesaran% dengan faktor ) $sx!sy ! )% diimplementasikan dengan menyalin setiap pixel sebanyak @ kali. Aadi citra ) x ) pixel akan menjadi @ x @ pixel Operasi *oom in $pengecilan% dengan faktor skala ! B dilakukan dengan mengambil rata" rata dari @ pixel yang bertetangga menjadi ; pixel
void 0oom1out(Citra A, Citra B,int N,int M) /* 2erbesaran citra A dengan faktor skala 3 */ ! int i, ", k, m, n# m$'# n$' for (i$'# i$N% i) ! for ("$'# "$M% ") ! Bm+n+$Ai+"+# Bm+n&+$Ai+"+# Bm&+n+$Ai+"+# Bm&+n&+$Ai+"+# N$n3# m$m3 n$'
48
R'./+
Rumus rotasi citra : x!x cos$θ% 3 y sin$θ% y! x sin$θ% 9 y cos$θ% Aika sudut rotasinya CD, maka implementasinya lebih mudah dilakukan dengan cara menyalin pixel"pixel baris ke pixel"pixel kolom pada arah rotasi. Rotasi ;D diimplementasikan dengan melakukan rotasi CD dua kali. Rotasi CD berla6anan arah jarum jam void translasi(Citra A, Citra B,int N,int M) /* 4otasi citra se"auh 5'6 berla7anan arah "arum "am */ ! int i, ", k# for (i$'# i$N% i) ! k$M%& for ("$'# "$M% ") ! Bk+i+$Ai+"+# k%%#
void rotasi(Citra A, Citra B,int N,int M) /* 4otasi citra se"auh 5'6 searah "arum "am
*/ ! int i, ", k# k$M%& for (i$'# i$N% i) ! for ("$'# "$M% ") ! B"+k+$Ai+"+# k%%#
F3'9;/.
Flowchart Pencerminan
Flowchart Rotasi
Flowchart Scalling
Flowchart Translasi
I3))*./+ P'/ M)**/7/* M/.3/<
8ambar&. Matlab 43'&3b ;. uka (plikasi 1atlab $ "ika sudah terinstall %
Pilih ne6 script untuk membuat program baru. ). Persiapkan gambar $image% sebagai bahan percobaan
7ntuk melakukan operasi geometri pada gambar, terlebih dahulu persiapkan gambar yang ingin dioperasikan. >etelah itu simpan gambar pada folder matlab, biasanya terdapat pada folder mydocument?matlab
8ambar 3. clo."pg <. uat baris program sebagai berikut
8ambar 9. 2encerminan
8ambar :. 4otasi
8ambar ;.
8ambar =. >ranslasi @. #lik run, dan lihat hasilnya
8ambar ?.
8ambar @. utput 4otasi
8ambar 5. utput lipping
8ambar &'. utput >ranslasi/Cropping