TRANSFORMASI CITRA:
PROSES KONVOLUSI
TRANSFORMASI CITRA:
PROSES KONVOLUSI
Bertalya
Universitas Gunadarma
PROSES KONVOLUSI
PROSES KONVOLUSI
• Formula Konvolusi:
= dummy variable of integration
• Mekanisme konvolusi dalam bentuk integral
ini tidak mudah untuk digambarkan
(Gonzales and Woods, 1992)
Konvolusi pada Domain Kontinue
Konvolusi dan Transformasi Fourier
Konvolusi dan Transformasi Fourier
• Konvolusi merupakan proses penting pada
analisis domain frekwensi karena f(x)*g(x)
dan F(u)G(u) membentuk suatu pasangan
transformasi Fourier (Fourier transform pair)
• Teori konvolusi:
f(x)*g(x) ÅÆ
F(u)G(u)
f(x)g(x) ÅÆ
F(u)*G(u)
Konvolusi pada Domain Diskrit (1)
Konvolusi pada Domain Diskrit (1)
• Bila A adalah periode dalam diskritisasi f(x) dan B
adalah periode dalam diskritisasi g(x), maka hasil
konvolusi akan mempunyai periode M dimana M=A+B
• Periode f(x) dan g(x) masing-masing dibesarkan
menjadi M dengan menyisipkan 0
f(x) = f(x) bila
dan f(x) = 0 bila
g(x) = g(x) bila
dan g(x) = 0 bila
• Konvolusi diskrit: (dilakukan melalui proses flip and
Konvolusi pada Domain Diskrit (2):
pendekatan shift kernel operator
Konvolusi pada Domain Diskrit (2):
pendekatan shift kernel operator
f(x) = [0 0 1 2 3 4 0]
Æ
[ 0 0 1 2 3 4 0 0 0]
g(x) = [-1 4 –1] karena simetri di-flip tetap [-1 4 –1]
Æ
[-1 4 –1 0 0 0 0 0 0]
maka f(x)*g(x) =
0x-1 + 0x4 + 1x-1 + 2x0 + 3x0 + 4x0 + 0x0 + 0x0 + 0x0 = -1 0x0 + 0x-1 + 1x4 + 2X-1 + 3x0 + 4x0 + 0x0 + 0x0 +0x0 = 2 0x0 + 0x0 + 1x-1 + 2x4 + 3x-1 + 4x0 + 0x0 + 0x0 + 0x0 = 4 0x0 + 0x0 + 1x0 + 2x-1 + 3x4 + 4x-1 + 0x0 + 0x0 + 0x0 = 6 0x0 +0x0 + 1x0 + 2x0 + 3x-1 + 4x4 + 0x-1 + 0x0 + 0x0 = 13 0x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x-1 + 0x0 + 0x0 + 0x0 = -4 0x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x0 + 0x-1 + 0x4 + 0x-1 = 0 0x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x0 + 0x0 + 0x-1 + 0x4 = 0 0x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x0 + 0x0 + 0x0 + 0x-1 = 0Konvolusi pada Domain Diskrit (3):
Pendekatan Rumus Konvolusi
Konvolusi pada Domain Diskrit (3):
Pendekatan Rumus Konvolusi
• Kita lihat kembali rumusan konvolusi:
• f(0) =0; f(1)=0; f(2)=1; f(3)=2; f(4)=3; f(5)=4; f(6)=0; … f(9)=0
g(7)=0; … g(1)=0; g(0)=-1; g(-1)=4; g(-2)=-1;
f(0)*g(0) = f(0)g(0) + f(1)g(-1) + f(2)g(-2) + dst = -1
f(1)*g(1) = f(0)g(1) + f(1)g(0 ) + f(2)g(-1) + dst = 2
f(2)*g(2) = f(0)g(2) + f(1)g(1) + f(2)g(0) + dst = 4
Proses Konvolusi pada Citra 2-D
Proses Konvolusi pada Citra 2-D
• Bentuk Kontinue dan Diskrit:
Contoh : citra f(x,y) berukuran 5 X 5
dengan kernel atau mask 3 X 3
• f(x,y) * g(x,y)
• Operasinya :
Tempatkan kernel pada sudut kiri atas kemudian hitung nilai piksel pada posisi (0,0) dari kernel
Geser kernel satu piksel ke kanan kemudian hitung nilai piksel
pada posisi (0,0) kernel, begitu seterusnya hingga geser satu piksel ke bawah, lalu mulai lagi melakukan konvolusi dari sisi kiri citra.
• Dengan cara yang sama, setiap baris piksel dikovolusi
Hasil konvolusi :
• Jika nilai piksel (-), nilai tsb dijadikan 0, jika nilai > nilai max gray level maka dilakukan clipping
• Untuk masalah piksel pinggir, solusi untuk masalah ini adalah :
– Piksel pinggir diabaikan, tidak dikonvolusi
– Duplikasi elemen citra, elemen kolom ke-1 disalin ke kolom M+1, begitu juga sebaliknya lalu konvolusikan.
– Elemen yang ditandai dengan (?) diasumsikan bernilai 0 atau
konstanta yang lain sehingga konvolusi piksel pinggir dapat dilakukan.
• Konvolusi piksel pinggir tidak memperlihatkan efek yang kasat mata.
Proses Konvolusi dan Dekonvolusi (1)
Proses Konvolusi dan Dekonvolusi (1)
• Blurring merupakan efek pemerataan (integrasi),
sedangkan deblurring / sharpening / outlining
merupakan efek differensiasi
• Proses blurring dapat diperoleh dengan
mengaplikasikan low pass filter dan sebaliknya,
proses sharpening dapat diperoleh dengan
mengaplikasikan high pass filter
• Filtering akan dipelajari pada proses peningkatan
Proses Konvolusi dan Dekonvolusi (2)
Proses Konvolusi dan Dekonvolusi (2)
• Contoh efek blurring (bayangkan bila terjadi pada
piksel citra 2-dimensi)
point response function ideal response (averaging)
TRANSFORMASI CITRA
• Mengapa perlu transformasi ?
– Setiap orang pada suatu saat pernah menggunakan suatu teknik analisis dengan transformasi untuk menyederhanakan
penyelesaian suatu masalah [Brigham,1974] – Contoh: penyelesaian fungsi y = x/z
• Analisa konvensional : pembagian secara manual • Analisa transformasi : melakukan transformasi
– log(y) = log(x) – log(z)
– look-up table Æ pengurangan Æ look-up table
• Transformasi juga diperlukan bila kita ingin mengetahui suatu informasi tertentu yang tidak tersedia sebelumnya
Transformasi Citra
• Contoh :
– jika ingin mengetahui informasi frekuensi kita memerlukan transformasi Fourier
– Jika ingin mengetahui informasi tentang kombinasi skala dan frekuensi kita memerlukan transformasi wavelet
• Transformasi citra, sesuai namanya, merupakan proses perubahan
bentuk citra untuk mendapatkan suatu informasi tertentu
• Transformasi bisa dibagi menjadi 2 :
– Transformasi piksel/transformasi geometris – Transformasi ruang/domain/space
Transformasi Piksel dan Ruang
• Transformasi piksel masih bermain di ruang/domain yang sama (domain spasial), hanya posisi piksel yang kadang diubah
• Contoh: rotasi, translasi, scaling, invers, shear, dll.
• Transformasi jenis ini relatif mudah diimplementasikan dan banyak aplikasi yang dapat melakukannya (Paint, ACDSee, dll)
• Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain ke ruang/domain lainnya, contoh: dari ruang spasial ke ruang frekuensi
• Ada beberapa transformasi ruang yaitu : – Transformasi Fourier (basis: cos-sin)
– Transformasi Hadamard/Walsh (basis: kolom dan baris yang ortogonal)
Transformasi Fourier (FT)
• Pada tahun
1822,Joseph Fourier, ahli matematika
dari Prancis menemukan bahwa: setiap fungsi
periodik (sinyal) dapat dibentuk dari penjumlahan
gelombang-gelombang sinus/cosinus.
• Contoh : Sinyal kotak merupakan penjumlahan dari fungsi-fungsi sinus berikut
f(x) = sin(x) + sin(3x)/3 + sin(5x)/5 + sin(7x)/7 + sin(9x)/9 …
Fungsi kotak sebagai penjumlahan
fungsi-fungsi sinus
• Cobakan juga program matlab berikut untuk melihat
sampai batas n berapa fungsi yang dihasilkan sudah
berbentuk fungsi kotak.
– function kotak(n)
t = 0:pi/200:8*pi; kot = sin(t);
for i = 3 : 2: n
kot = kot + (sin(i*t))/i; end
Gambar a) n = 1, b) n =3, c) n = 7, d) n = 99
(a)
(c) (d)
FT - Motivasi
• Jika semua sinyal periodik dapat dinyatakan dalam
penjumlahan fungsi-fungsi sinus-cosinus, pertanyaan
berikutnya yang muncul adalah:
– Jika saya memiliki sebuah sinyal sembarang, bagaimana saya tahu fungsi-fungsi cos – sin apa yang membentuknya ?
• Atau dengan kata lain
– Berapakah frekuensi yang dominan di sinyal tersebut ?
• Pertanyaan di atas dapat dijawab dengan menghitung
nilai F(u) dari sinyal tersebut. Dari nilai F(u) kemudian
dapat diperoleh kembali sinyal awal dengan menghitung
f(x), menggunakan rumus:
Rumus FT – 1 D
• Rumus FT kontinu 1 dimensi
ux
j
ux
ux
j
du
ux
j
u
F
x
f
dx
ux
j
x
f
u
F
π
π
π
π
π
2
sin
2
cos
]
2
exp[
:
formula
s
Euler'
]
2
exp[
)
(
)
(
]
2
exp[
)
(
)
(
−
=
−
=
−
=
∫
∫
∞ ∞ − ∞ ∞ −• Rumus FT diskret 1 dimensi
∑
∑
− − ==
−
=
1 1 0]
/
2
exp[
)
(
1
)
(
]
/
2
exp[
)
(
1
)
(
N N xN
ux
j
u
F
x
f
N
ux
j
x
f
N
u
F
π
π
Contoh FT 1 D
Contoh berikut diambil dari Polikar
(http://engineering.rowan.edu/~polikar/WAVELETS/WTtutorial.html)
Misalkan kita memiliki sinyal x(t) dengan rumus sbb:
x(t) = cos(2*pi*5*t) + cos(2*pi*10*t) +
cos(2*pi*20*t) + cos(2*pi*50*t)
Sinyal ini memiliki empat komponen frekuensi yaitu
5,10,20,50
Contoh sinyal 1 Dimensi x(t)
Gambar sinyal satu dimensi dengan rumus
x(t)= cos(2*pi*5*t) + cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*50*t) (Sumber: Polikar)
FT dari sinyal tersebut
FT dari sinyal tersebut. Terlihat bahwa FT dapat menangkap frekuensi-frekuensi yang dominan dalam sinyal tersebut, yaitu 5,10, 20, 50
(nilai maksimum F(u) berada pada angka 5,10, 20, 50)
Contoh Penghitungan FT 1 dimensi
(Gonzalez hlm 90-92)
j j F F j j j j j j x j x x f F f f f f N x j N x x f N F f f f f contoh N ux j N ux x f N N ux j x f N u F x N x N x N x 25 . 0 5 . 0 ] 2 [ 1 ) 3 ( 25 . 0 ] 1 [ 1 ) 2 ( 25 . 0 5 . 0 ) 2 ( 4 1 ) 4 4 3 2 ( 4 1 ) 0 ( 4 ) 0 1 ( 4 ) 0 ( 3 ) 0 1 ( 2 [ 4 1 ))] 4 / 2 sin( ) 4 / 2 )(cos( ( 4 1 ) 1 ( 25 . 3 )] 3 ( ) 2 ( ) 1 ( ) 0 ( [ 4 1 ))] / 0 2 sin( ) / 0 2 )(cos( ( 1 ) 0 ( 4 ) 3 ( , 4 ) 2 ( , 3 ) 1 ( , 2 ) 0 ( : ))] / 2 sin( ) / 2 )(cos( ( 1 ] / 2 exp[ ) ( 1 ) ( 3 0 1 0 1 0 1 0 − − = + − = − = − = + − = + − = + − − = + + − − + − + − = − = = + + + = − = = = = = − = − =∑
∑
∑
∑
= − = − = − = π π π π π π πContoh Penghitungan FT
• Hasil penghitungan FT biasanya mengandung bilangan
real dan imajiner
• Fourier Spectrum didapatkan dari magnitude kedua
bilangan tersebut shg|F(u)| = [R
2(u) + I
2(u)]
1/2• Untuk contoh di halaman sebelumnya, Fourier
Spectrumnya adalah sebagai berikut:
• |F(0)| = 3.25 |F(1)| = [(-0.5)2+(0.25)2]1/2 = 0.5590
Rumus FT – 2 D
• Rumus FT 2 dimensi
kolom)
(jumlah
citra
lebar
N
baris)
(jumlah
citra
tinggi
M
)]
/
/
(
2
exp[
)
,
(
)
,
(
:
)]
/
/
(
2
exp[
)
,
(
1
)
,
(
:
1 0 1 0 1 0 1 0=
=
+
=
+
−
=
∑∑
∑∑
− = − = − = − = M u N v M x N yN
vy
M
ux
j
v
u
F
y
x
f
InversFT
N
vy
M
ux
j
y
x
f
MN
v
u
F
FT
π
π
Contoh FT 2 Dimensi
Sumber: http://www.icaen.uiowa.edu/~dip/LECTURE/LinTransforms.html