MKB3383 - Teknik Pengolahan Citra Transformasi Geometri Muhammad Zidny Naf’an, M.Kom. Gasal 2015/2016
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Pengantar Transformsi Geometri Proses yang memanipulasi posisi spatial dari pixel
3 4 5 2 7 4 1 0 0
0 0 0 3 4 5 2 7 4
Pemetaan Geometrik Pemetaan ke Depan (Forward Mapping)
Pemetaan ke Belakang (Backward Mapping)
posisi pada citra keluaran ditentukan dengan acuan pemrosesan pada citra masukan
pemrosesan dimulai dari citra keluaran
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Penggeseran Crita (Image Translation) Rumus menggeser citra secara horizontal maupun vertikal: 𝑦𝑏𝑎𝑟𝑢 = 𝑦𝑙𝑎𝑚𝑎 + 𝑆𝑦 𝑥𝑏𝑎𝑟𝑢 = 𝑥𝑙𝑎𝑚𝑎 + 𝑆𝑥 Dengan 𝑆𝑦 adalah jarak pergeseran pada arah vertikal, dan 𝑆𝑥 adalah jarak pergeseran pada arah horizontal
Penggeseran Crita (Image Translation) Contoh, diketahui 𝑆𝑦 = 0 dan 𝑆𝑥 = 1 dan citra input: 3 4 5 maka: (𝒚𝒍𝒂𝒎𝒂, 𝒙𝒍𝒂𝒎𝒂) (𝒚𝒃𝒂𝒓𝒖, 𝒙𝒃𝒂𝒓𝒖) 2 7 4 1 0 0 Output: 0 3 4 0 2 7 0 1 0
(0,0)
(0,1)
(0,1)
(0,2)
(0,2)
-
(1,0)
(1,1)
(1,1)
(1,2)
(1,2)
-
(2,0)
(2,1)
(2,1)
(2,2)
(2,2)
-
Penggeseran Crita (Image Translation)
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Pemutaran Citra (Image Rotation) Rumus memutar citra sebesar sudut 𝜃 berlawanan arah jarum jam: 𝑦𝑏𝑎𝑟𝑢 = 𝑦 cos 𝜃 − 𝑥 sin(𝜃) 𝑥𝑏𝑎𝑟𝑢 = 𝑥 cos 𝜃 + 𝑦 sin(𝜃)
Pemutaran Citra dengan Pusat (0,0)
Pemutaran Citra 𝑦𝑏𝑎𝑟𝑢 = 𝑦 cos 𝜃 − 𝑥 sin(𝜃) 𝑥𝑏𝑎𝑟𝑢 = 𝑥 cos 𝜃 + 𝑦 sin(𝜃)
Putarlah citra berikut dengan 𝜃 = 90
3 4 5 2 7 4 1 0 0 3 2 1 0 0 0 0 0 0
(𝒚𝒍𝒂𝒎𝒂 , 𝒙𝒍𝒂𝒎𝒂 )
(𝒚𝒃𝒂𝒓𝒖 , 𝒙𝒃𝒂𝒓𝒖 )
(0,0)
(0,0)
(0,1)
(-1, 0)
(0,2)
(-2,0)
(1,0)
(0,1)
(1,1)
(-1,1)
(1,2)
(-2,1)
(2,0)
(0,2)
(2,1)
(-1,2)
(2,2)
(-2,2)
Contoh Pemutaran Citra dengan Pemetaan ke Belakang
Perbandingan Hasil Pemetaan ke Belakang dan Pemetaan ke Depan
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Image Zooming (Penskalaan Citra) • Proses-proses yang melibatkan penaikan atau penurunan ukuran citra • Teknik yang paling sederhana dalam zooming menduplikasikan nilai pixel pada arah X atau Y. • Jika citra tidak di zoom dengan nilai yang sama, maka “aspect ratio” dari citra akan berubah.
Aspect Ratio • Rasio antara jumlah titik vertikal dan horizontal untuk mendapatkan panjang yang sama di kedua arah tersebut • menunjukkan perbandingan panjang dan lebar
AR=1
AR>1 AR<1
Formula Image Zooming • Jika citra semula adalah A dan citra hasil penskalaan adalah B, maka penskalaan citra dinyatakan sebagai:
B[x’][y’] = B[sx × x][ sy × y] = A[x][y]
Zoom in • Resolusi tidak bertambah • Perubahan pada besar pixelnya – titik kecil dapat terlihat lebih besar
Zoom 3x AR = 1
Zoom 3x AR ≠ 1
Contoh algoritma zoom 2x, AR = 1 int i,j,m,n; m=0; n=0; for (i=0;i<=jmlbaris-1;i++) { for(j=0;j<=jmlkolom-1;j++) { Z[m,n] = X[i,j]; Z[m,n+1] = X[i,j]; Z[m+1,n] = X[i,j]; Z[m+1,n+1] = X[i,j]; n=n+2; } m=m+2; n=0; }
Zoom out • Ada informasi pada citra yang harus dihilangkan. • Salah satu metode sederhana ambil ratarata dari n pixel bertetangga pada X sebagai nilai dari satu pixel pada Z – Contoh: hasil rata-ratanya 4 pixel pada X menjadi 1 pixel pada Z
Zoom in reversible
Zoom 2x
Zoom 0.5x
Zoom out not reversible
Zoom 0.25x
Zoom 4x
Contoh Zoom
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Pencerminan Citra Pencerminan Secara Horizontal
Pencerminan Secara Vertical
Algoritma Pencerminan Horizontal
Algoritma Pencerminan Vertical
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Efek Ripple (Efek Riak) • Membuat efek gelombang pada citra • Menggunakan backward mapping 𝑥=
𝑥′
2𝜋𝑦′ + 𝑎𝑥 𝑠𝑖𝑛 𝑇𝑥
2𝜋𝑥′ 𝑦 = 𝑦 + 𝑎𝑦 𝑠𝑖𝑛 𝑇𝑦 ′
ax dan ay menyatakan amplitudo riak gelombang sinus Tx dan Ty menyatakan periode gelombang sinus
Contoh Efek Ripple
ax = 10; ay = 0; Tx = 100; Ty = 300
ax = 0; ay = 10; Tx = 100; Ty = 300
Efek Twirl • Transformasi Twirl (puntiran): dilakukan dengan memutar citra berdasarkan titik pusat citra, tetapi tidak bersifat linear 𝑥 ′ = 𝑥𝑐 + 𝑟 cos(𝛽) 𝑦 ′ = 𝑦𝑐 + 𝑟 sin(𝛽) 𝑟 = (𝑥 − 𝑥𝑐 )2 +(𝑦 − 𝑥𝑐 )2 𝛽 = 𝐴𝑟𝑐𝑇𝑎𝑛 𝑑𝑦 , 𝑑𝑥 + 𝛼(𝑟𝑚𝑎𝑘𝑠 − 𝑟)/𝑟𝑚𝑎𝑘𝑠
Hasil Efek Twirl
Outline • • • • • • • •
Pengantar operasi geometrik Penggeseran citra Pemutaran citra Interpolasi piksel Zooming Pencerminan citra Efek ripple dan Efek twirl Transformasi affine, Transformasi spherical dan Transformasi bilinear
Transformasi Affine transformasi linear yang menyertakan penskalaan, pemutaran, penggeseran, dan shearing (pembengkokan).
Rumus Transformasi Affine: 𝑎11 𝑎12 𝑥′ 𝑦′ = 𝑎21 𝑎22 0 0 1
𝑡𝑥 𝑡𝑦 1
𝑥 𝑦 1
Berdasarkan persamaan di atas, terlihat bahwa transformasi affine memiliki enam derajat kebebasan: dua untuk translasi (tx dan ty) dan empat buah untuk rotasi, penskalaan, stretching, dan shearing (a11, a12, a21, dan a22).
Transformasi Affine Koefisien untuk menentukan efek penskalaan, rotasi, translasi, dan pembengkokan Transformasi
a11
a12
a21
a22
tx
ty
1
0
0
1
x
y
cos θ
sin θ
-sin θ
cos θ
0
0
Penyekalaan sebesar s
s
0
0
s
0
0
Pembengkokan secara vertikal sebesar s
1
s
0
1
0
0
Pembengkokan secara horizontal sebesar s
1
0
s
1
0
0
Translasi sebesar (y, x) Rotasi sebesar θ
Contoh Bentuk Transformasi Affine Misalkan akan menggeser citra secara horizontal sebanyak 50 (tx=50) dan vertikal sebanyak 50 (ty=50), maka bentuk transformasi affine-nya menjadi: 1 0 50 𝑥 𝑥′ 𝑦′ = 0 1 50 𝑦 0 0 1 1 1
Contoh Bentuk Transformasi Affine Misalkan akan melakukan pembengkokan secara vertical sebanyak 0.5 (s=0.5), maka bentuk transformasi affine-nya menjadi: 1 0.5 0 𝑥 𝑥′ 𝑦′ = 0 1 0 𝑦 0 0 1 1 1
Transformasi Spherical • memberikan efek bulatan (bola), seperti melihat gambar menggunakan lensa pembesar. Bagian tengah terlihat membesar.
Prinsiple of Digital Image Processing: Core Algorithm https://books.google.co.id/books?id=s5CBZLBakawC&pg=PA207&lpg=PA207&dq=spherical+transf
Contoh Transformasi Spherical
Transformasi Bilinear • Fungsi pemetaan yang digunakan: 𝑥 ′ = 𝑎1 𝑥 + 𝑎2 𝑦 + 𝑎3 𝑥𝑦 + 𝑎4 𝑦 ′ = 𝑏1 𝑥 + 𝑏2 𝑦 + 𝑏3 𝑥𝑦 + 𝑏4
Referensi • Kadir, Abdul dan Adhi Susanto. 2013. Teori Dan Aplikasi Pengolahan Citra. Yogyakarta: Penerbit Andi. • Slide Pengolahan Citra, Departement Teknik Informatika IT Telkom • Prof. Aniati Murni A., Pengolahan Citra Digital, Fak. Ilmu Komputer, Universitas Indonesia. • Rinaldi Munir, Pengolahan Citra Digital • Pengolahan Citra Digital, ITS. http://share.its.ac.id/pluginfile.php/374/mod_res ource/content/1/03_-_Transformasi_Citra.ppt