Post on 07-Feb-2018
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: maka:
3 4 5
2 7 4
1 0 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) -
0 3 4
0 2 7
0 1 0
Output:
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
Putarlah citra berikut dengan 𝜃 = 90
3 4 5
2 7 4
1 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)
𝑦𝑏𝑎𝑟𝑢 = 𝑦 cos 𝜃 − 𝑥 sin(𝜃) 𝑥𝑏𝑎𝑟𝑢 = 𝑥 cos 𝜃 + 𝑦 sin(𝜃)
3 2 1
0 0 0
0 0 0
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>1AR=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 rata-rata 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: 𝑥′𝑦′1
=
𝑎11 𝑎12 𝑡𝑥
𝑎21 𝑎22 𝑡𝑦
0 0 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
Translasi sebesar (y, x) 1 0 0 1 x y
Rotasi sebesar θ 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
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
= 1 0 500 1 500 0 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
= 1 0.5 00 1 00 0 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+transformation+image+processing&source=bl&ots=LQwI2f9Is9&sig=puBjY7ECiYzpgPXUKSm5GuVchu0&hl=id&sa=X&ved=0ahUKEwjO9ofV9K_LAhXOv44KHdiLAOkQ6AEIKTAB#v=onepage&q&f=false
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_resource/content/1/03_-_Transformasi_Citra.ppt