SlideShare a Scribd company logo
1 of 15
Machine Vision
LECTURE NOTES
Machine Vision
Session 08
Shape Features
Machine Vision
LEARNING OUTCOMES
1. Peserta diharapkan memahami proses deteksi fitur, terutama fitur boundary dan region
serta proses segmentasi citra.
OUTLINE MATERI (Sub-Topic):
1. Thresholding
2. Identifying Boundary
3. Identifying Region
Machine Vision
ISI MATERI
Thresholding
Image segmentation atau segmentasi citra adalah sebuah proses membagi citra menjadi
sub-citra yang memiliki karakteristik serupa. Tujuan dari segmentasi adalah untuk
mendekomposisi citra menjadi bagian-bagian yang memiliki makna untuk aplikasi tertentu.
Contoh, pada inspeksi PCB (printed circuit board) secara otomatis, perlu dilakukan
segmentasi yang dapat membedakan bagian dari PCB yang merupakan hasil proses solder
dengan bagian lainnya. Proses inspeksi secara otomatis dapat dilakukan dengan cara
membandingkan citra hasil segmentasi yang menunjukkan hasil proses solder pada PCB
dengan template yang ada. Gambar berikut memperlihatkan proses segmentasi tersebut:
Citra PCB input
Citra hasil segmentasi
Segmentasi merupakan salah satu proses yang paling sulit dilakukan pada pengolahan
citra. Proses segmentasi juga merupakan salah satu proses yang memegang peranan penting
karena menentukan keberhasilan dari prosedur analisis citra secara otomatis. Dibutuhkan
pertimbangan dalam pemilihan metode agar proses segmentasi dapat menghasilkan output
Machine Vision
yang optimal. Secara umum segmetasi citra bekerja berdasarkan nilai intensitas
warna/graylevel piksel dengan cara mendeteksi 1) diskontinuitas: mempartisi citra
berdasarkan perubahan intenitas yang signifikan, biasanya ditemui pada bagian sisi/edge dari
sebuah obyek pada citra, atau 2) kesamaan: mempartisi citra menjadi bagian-bagian yang
memiliki kesamaan berdasarkan kriteria yang sudah didefinisikan sebelumnya.
Thresholding adalah pendekatan yang paling mendasar dalam proses segmentasi. Teknik
single value thresholding dapat dirumuskan secara matematis sebagai berikut:
dimana T menyatakan nilai threshold/ambang. Contoh berikut memperlihatkan penerapan
single value thresholding pada robot pemain poker. Untuk dapat bermain poker, robot harus
dapat menginterpretasikan setiap kartu. Proses segmentasi dapat diterapkan untuk
memisahkan latar depan (lambang dan nilai setiap kartu) dari latar belakangnya. Langkah
berikutnya tentu saja mengenali lambang dan nilai dari kartu tersebut. Gambar berikut
memperlihatkan citra input dan hasil proses thresholding.
Pemilihan nilai threshold merupakan hal yang sangat penting karena nilai threshold yang
tidak tepat akan menghasilkan proses segmentasi yang tidak sesuai dengan harapan. Gambar
berikut memperlihatkan hasil proses threholding menggunakan dua nilai threshold berbeda.
Gambar pertama memperlihatkan akibat dari pemilihan nilai threshold yang terlalu tinggi,
sebaliknya gambar kedua memperlihatkan akibat dari pemilihan nilai threshold yang terlalu
rendah.






T
y
x
f
if
T
y
x
f
if
y
x
g
)
,
(
0
)
,
(
1
)
,
(
Machine Vision
Berikut algoritma untuk melakukan thresholding menggunakan nilai threshold tunggal
untuk keseluruhan citra (single global threshold).
1. Inisialisasi nilai threshold T, biasanya dipilih nilai rata-rata graylevel dari citra.
2. Segmentasi citra menggunakan nilai threshold T pada langkah 1 menjadi dua
kelompok piksel: G1 mewakili piksel-piksel dengan nilai graylevel > T dan G2
mewakili piksel-piksel dengan nilai greylevel ≤ T.
3. Hitung nilai rata-rata graylevel semua piksel pada kelompok G1 dan G2, sehingga
diperoleh m1
dan m2
.
4. Hitung nilai threshold baru:
5. Ulangi langkah 2 sampai 4 hingga selisih nilai threshold baru dengan nilai threshold
pada iterasi sebelumnya dibawah nilai ambang T¥
yang didefinisikan sebelumnya.
Algoritma ini bekerja baik untuk mendapatkan nilai threshold yang optimal pada citra yang
memiliki histogram dengan karakteristik bimodal atau memiliki dua puncak seperti
diperlihatkan pada gambar berikut.
Citra input Histogram citra input Hasil segmentasi
2
2
1 
 

T
Machine Vision
Citra input Hasil segmentasi
Histogram citra input
Seperti ditunjukkan pada contoh sebelumnya, teknik single value thresholding dapat
bekerja baik untuk citra dengan histogram bimodal. Namun terdapat banyak kasus dimana
proses segmentasi membutuhkan lebih dari sebuah nilai threshold. Gambar berikut
memperlihatkan kasus dimana penggunaan single value thresholding tidak dapat
menghasilkan hasil segmentasi sesuai dengan yang diharapkan. Misalkan akan dilakukan
inspeksi secara otomatis untuk melihat apakah isi dari setiap minuman pada botol sudah
sesuai dengan standar yang ditentukan. Proses segmentasi harus dapat memisahkan isi botol
dari botol dan latar belakangnya. Gambar di sebelah kiri merepresentasikan citra input,
sedangkan gambar di tengah menunjukkan hasil segmentasi menggunakan teknik single value
thresholding, dan gambar terakhir memperlihatkan hasil segmentasi menggunakan dua nilai
threshold berbeda. Penggunaan nilai threshold tunggal tidak berhasil memisahkan isi botol,
botol dan latar belakangnya. Sedangkan penggunaan dua nilai threshold dapat memisahkan
ketiga obyek tersebut dengan baik.
Machine Vision
ISI MATERI
Identifying Boundary
Sebuah obyek direpresentasikan sebagai sekumpulan piksel pada citra. Untuk mendukung
proses pengenalan obyek maka sifat dari kumpulan piksel perlu dideskripsikan, salah satunya
menggunakan object descriptor. Object descriptor dapat dikelompokkan menjadi:
1. Boundary descriptor: merepresentasikan susunan piksel pada perimeter atau sisi dari
obyek pada citra.
2. Region descriptor: merepresentasikan susunan piksel pada area di dalam obyek pada
citra.
Berikut sifat-sifat penting yang perlu dimiliki oleh object descriptor:
a. Complete set: dua obyek harus memiliki descriptor yang sama, jika dan hanya jika
kedua obyek tersebut memiliki bentuk yang sama.
b. Congruent: dapat mengenali dua obyek yang serupa apabila kedua obyek tersebut
memiliki descriptor yang mirip.
c. Convenient: tidak dipengaruhi oleh proses transformasi (translasi, rotasi, skala,
maupun perubahan perspektif).
d. Compact set: merepresentasikan esensi dari obyek secara efisien.
Boundary adalah bagian dari obyek yang menyatakan sisi atau perimeter dari obyek, atau
dapat dikatakan juga sebagai kontur obyek. Boundary dapat ditemukan dengan cara memilih
salah satu piksel pada kontur kemudian menelusuri piksel-piksel berikutnya sepanjang kontur
searah atau berlawanan dengan arah jarum jam. Penelusuran dilakukan hingga ditemukan
kembali titik awal. Hasil penelusuran kontur dapat direpresentasikan sebagai daftar koordinat
dari piksel-piksel pada kontur, atau dapat juga disimpan sebagai posisi relatif dari piksel-
piksel tersebut. Hal tersebut yang dijadikan ide dasar dari chain code yang merepresentasikan
piksel-piksel pada kontur sebagai himpunan koneksi. Koneksi antar piksel dapat dinyatakan
sebagai 4-way connectivity atau 8-way connectivity, seperti diilustrasikan pada gambar
berikut:
Machine Vision
Dua gambar berikut memperlihatkan penerapan chain code untuk merepresentasikan kontur
dari obyek yang sama. Proses penelusuran dimulai dari piksel dengan label ‘Start’ searah
dengan jarum jam.
Hal yang perlu diperhatikan adalah pemilihan titik awal dalam proses penelusuran.
Pemilihan titik awal yang berbeda dari dua obyek yang sama akan menghasilkan kode yang
berbeda. Untuk mengatasi permasalahan ini, dapat digunakan pergeseran digit dengan cara
mengganti least significant digit dengan most significant digit dan menggeser digit lainnya.
Ilustrasi berikut memperlihatkan proses pergeseran digit untuk memperoleh chain code yang
bersifat start point invariant dari kode 8-way connectivity di gambar sebelumnya. Untuk
mendapatkan start point invariant dari kode awal dibutuhkan 6 kali pergeseran digit. Hasil
akhir dari pergeseran digit akan menunjukkan deretan angka yang terurut naik.
Machine Vision
Salah satu teknik yang dapat juga digunakan untuk merepresentasikan boundary adalah
Fourier descriptor. Fourier descriptor diperoleh dengan cara melakukan transformasi Fourier
terhadap boundary dari obyek, dimana setiap titik (x,y) pada boundary dipetakan menjadi
sebuah bilangan kompleks x + iy. Fourier descriptor Z(k) dapat dinyatakan oleh persamaan
berikut.
Bentuk asli obyek dapat direkonstruksi dengan melakukan transformasi Fourier invers,
namun apabila hanya digunakan sedikit koefisien hasil transformasi, maka bentuk boundary
hasil rekonstruksi menjadi lebih sederhana. Pendekatan Fourier descriptor dapat
dimanfaatkan untuk meminimalkan variasi kecil pada obyek yang berbeda. Fourier descriptor
bersifat invariant terhadap translasi, rotasi, skala, dan titik awal, artinya Fourier descriptor
akan bernilai sama meskipun obyek telah mengalami perpindahan lokasi, perputaran, maupun
perbesaran/pengecilan. Gambar berikut mengilustrasikan hasil rekonstruksi penggunaan 9,
19, dan 29 koefisien Fourier descriptor dari sebuah obyek berbentuk payung.
Z[k]= DFT[z[m]]=
1
N
z[m]e- j2pmk/N
m=0
N-1
å
Original shape Reconstructed
Using 9 FD
Reconstructed
Using 19 FD
Reconstructed
Using 29 FD
Machine Vision
ISI MATERI
Identifying Region
Region descriptor berfungsi untuk merepresentasikan susunan piksel pada area di dalam
obyek pada citra. Terdapat dua jenis region descriptor, yaitu basic region descriptor dan
statistical description yang bekerja berdasarkan prinsip momen. Pada basic region
descriptor, sebuah area dapat direpresentasikan berdasarkan karakteristik geometrinya, yaitu
area (A), perimeter (P), compactness (C) dan dispersion (IR). Berikut rumus dari basic region
descriptor dari obyek S.
Area menyatakan luas dari obyek, dimana DAmenyatakan ukuran luas dari sebuah piksel.
Sehingga jika DA=1 maka luas obyek dinyatakan dalam piksel. Area bersifat invariant
terhadap rotasi, namun tidak terhadap skala. Perimeter direpresentasikan oleh koordinat
parametrik x(t) dan y(t) yang membentuk kurva yang melingkupi obyek S. Compactness
mengukur tingkat efisiensi boundary menutupi area. Sebuah lingkaran sempurna akan
memiliki nilai C = 1, artinya lingkaran merupakan bentuk yang paling kompak. Dispersion
dapat digunakan untuk mengukur tingkat irregularity, yaitu rasio dari radius maksium
terhadap radius minimumnya. Dispersion mendefinisikan rasio antara radius maksimum dari
lingkaran yang dapat melingkupi obyek S terhadap radius lingkaran yang dapat dimuat pada
S. Lingkaran sempurna akan memiliki nilai IR = 1. Semakin tidak beraturan sebuah obyek
(irregular) maka nilai irregularity akan semakin besar.
A(S) = I(x, y)DA
y

x

P(S) = (xi - xi-1)2
+(yi - yi-1)2
i
å
C(S) =
A(s)
P2
(s) / 4p
IR(S) =
max (xi - x)2
+(yi - y)2
( )
min (xi - x)2
+(yi - y)2
( )
Machine Vision
Berikut contoh perhitungan basic region descriptor dari tiga obyek berbeda.
A(S) = 4917
P(S) = 259.27
C(S) = 0.91
PS(S) = 1.03
A(S) = 4917
P(S) = 259.27
C(S) = 0.91
PS(S) = 1.03
A(S) = 4917
P(S) = 259.27
C(S) = 0.91
PS(S) = 1.03
Moment berguna untuk menyatakan susunan/layout dari obyek yang digambarkan oleh
susunan piksel-piksel yang membentuk obyek. Moment dapat dikatakan merupakan
kombinasi antara fitur area, compactness, irregularity, dan statistika orde tinggi. Moment
kartesian dua dimensi I(x,y) didefinisikan oleh:
dimana DA menyatakan area dari sebuah piksel. Moment orde 0 dapat dituliskan sebagai:
sedangkan moment order 1 dapat dinyatakan oleh:
Salah satu variasi dari moment adalah centralized moment yang bersifat invariant terhadap
translasi. Centralized moment dapat dinyatakan oleh:
mpq = xp
yq
y

x
 I(x, y)DA
m00 = I(x, y)DA
y

x

m10 = xI(x, y)DA
y

x

m01 = yI(x, y)DA
y

x

mpq = (x - x)p
(y - y)q
y

x
 I(x, y)DA
Machine Vision
contoh:
Berikut contoh perhitungan centralized moment:
Berdasarkan contoh tersebut, dapat dilihat bahwa centralized moment tidak dipengaruhi
oleh operasi translasi atau pergeseran namun hal tersebut tidak berlaku terhadap operasi
rotasi. Dapat dikatakan bahwa centralized moment bersifat translation invariant tetapi tidak
bersifat rotation invariant. Untuk mengatasi kekurangan ini, Hu pada tahun 1962
mengusulkan invariant moment yang bersifat invariant terhadap translasi, rotasi, dan skala.
Untuk mendapatkan karateristik tersebut, perlu didefinisikan normalized central moment:
Tujuh invariant moment berikut dapat diturunkan dari persamaan diatas:
m01 = m01 -
m01
m00
m00
m10 = m01
m20 = m20 -
m10
2
m00
hpq =
mpq
m00
g
where g=
p + q
2
"p+ q ³ 2
Machine Vision
Berikut contoh perhitungan tiga invariant moment pertama dari sebuah obyek berbentuk
pesawat tempur F-14:
Seperti dapat dilihat pada contoh tersebut, operasi rotasi dan skala tidak mempengaruhi nilai
invariant moment M1, M2, dan M3 secara signifikan.
Machine Vision
SIMPULAN
1. Operasi thresholding dapat bekerja secara optimal pada citra dengan histogram yang
memenuhi kondisi bimodal, trimodal, dst.
2. Sebuah obyek pada citra dapat direpresentasikan oleh susunan piksel pada
sisi/perimeternya (boundary) atau susunan piksel dalam obyek tersebut (region).
3. Beberapa sifat penting yang perlu dimiliki oleh sebuah object descriptor adalah
complete set, congruent, convenient, dan compact set.
4. Representasi sebuah obyek dapat dinyatakan berdasarkan sifat geometris maupun
karakteristik statistiknya.
Machine Vision
DAFTAR PUSTAKA
1. Gonzales. (2011). Digital Image Processing (3rd Edition). Prentice Hall. New Jersey.
ISBN-10: 013168728X. ISBN-13: 978-0131687288
2. Nixon, M. (2008). Feature extraction & image processing (2nd
Edition). Academic
Press. ISBN: 9780080556727
3. Y.K. Liu, B.Zalik, An efficient chain code with Huffman coding, Pattern Recognition
38 (4) (2005) 553-557.
4. Tutorial on Fourier Theory,
http://www.cs.otago.ac.nz/cosc453/student_tutorials/fourier_analysis.pdf
5. OpenCV: Discrete Fourier Transform,
http://docs.opencv.org/2.4/doc/tutorials/core/discrete_fourier_transform/discrete_fouri
er_transform.html?highlight=fourier
6. L.Keyes, A.Winstanley, Using moment invariants for classifying shapes on large-
scale maps, Computers, Environment and Urban Systems 25 (1) (2001) 119-130.

More Related Content

What's hot

Bab 11 citra biner
Bab 11 citra binerBab 11 citra biner
Bab 11 citra binerSyafrizal
 
Bab 2 pembentukan citra
Bab 2 pembentukan citraBab 2 pembentukan citra
Bab 2 pembentukan citraSyafrizal
 
Review paper
Review paperReview paper
Review paperananta200
 
Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...
Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...
Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...Amran Simamora
 
Matlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan CitraMatlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan Citraarifgator
 
Pengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi DigitalPengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi DigitalNur Fadli Utomo
 
Pemanfaatan Stack Untuk Deteksi Gerakan
Pemanfaatan Stack Untuk Deteksi GerakanPemanfaatan Stack Untuk Deteksi Gerakan
Pemanfaatan Stack Untuk Deteksi GerakanTeady Matius
 
Pengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra DigitalPengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra DigitalNur Fadli Utomo
 
Pengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLABPengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLABSimesterious TheMaster
 

What's hot (19)

Bab 11 citra biner
Bab 11 citra binerBab 11 citra biner
Bab 11 citra biner
 
Bab 2 pembentukan citra
Bab 2 pembentukan citraBab 2 pembentukan citra
Bab 2 pembentukan citra
 
Pcd 5
Pcd 5Pcd 5
Pcd 5
 
Review paper
Review paperReview paper
Review paper
 
Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...
Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...
Deteksi, pelacakan dan jumlah kendaraan dengan moving average subtraction dan...
 
Pcd 4
Pcd 4Pcd 4
Pcd 4
 
Pcd 10
Pcd 10Pcd 10
Pcd 10
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
 
Pcd 7
Pcd 7Pcd 7
Pcd 7
 
Pcd 4
Pcd 4Pcd 4
Pcd 4
 
Matlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan CitraMatlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan Citra
 
Pengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi DigitalPengolahan Citra 3 - Operasi-operasi Digital
Pengolahan Citra 3 - Operasi-operasi Digital
 
Pcd 11
Pcd 11Pcd 11
Pcd 11
 
Pemanfaatan Stack Untuk Deteksi Gerakan
Pemanfaatan Stack Untuk Deteksi GerakanPemanfaatan Stack Untuk Deteksi Gerakan
Pemanfaatan Stack Untuk Deteksi Gerakan
 
Pengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra DigitalPengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra Digital
 
Pcd 8
Pcd 8Pcd 8
Pcd 8
 
Pcd 2
Pcd 2Pcd 2
Pcd 2
 
Chap 4_Model Citra
Chap 4_Model CitraChap 4_Model Citra
Chap 4_Model Citra
 
Pengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLABPengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLAB
 

Similar to LN s07-machine vision-s2

Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxkomzud
 
Analisa spasial -_vektor
Analisa spasial -_vektorAnalisa spasial -_vektor
Analisa spasial -_vektorIrma Wahyuni
 
Komputr grafika
Komputr grafikaKomputr grafika
Komputr grafikaRos Dania
 
Statistik Manifestasi
Statistik Manifestasi Statistik Manifestasi
Statistik Manifestasi rindaaulutamii
 
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfDikywahyu5
 
Contoh format tugas makalah
Contoh format tugas makalahContoh format tugas makalah
Contoh format tugas makalahsamoedra
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1Hanz Skyblue
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamentalSyafrizal
 
APLIKASI-KOMPUTER-2-AUTOCAD 2D.pdf
APLIKASI-KOMPUTER-2-AUTOCAD 2D.pdfAPLIKASI-KOMPUTER-2-AUTOCAD 2D.pdf
APLIKASI-KOMPUTER-2-AUTOCAD 2D.pdfGundhiAsmoro
 
Tutorial ASTER Imagery DEM Extraction Using ENVI Software
Tutorial ASTER Imagery DEM Extraction Using ENVI SoftwareTutorial ASTER Imagery DEM Extraction Using ENVI Software
Tutorial ASTER Imagery DEM Extraction Using ENVI Softwarebramantiyo marjuki
 
Peningkatan Kualitas Citra Spasial.pdf
Peningkatan Kualitas Citra Spasial.pdfPeningkatan Kualitas Citra Spasial.pdf
Peningkatan Kualitas Citra Spasial.pdfAdam Superman
 
PENGANTAR PENGOLAHAN CITRA.pdf
PENGANTAR PENGOLAHAN CITRA.pdfPENGANTAR PENGOLAHAN CITRA.pdf
PENGANTAR PENGOLAHAN CITRA.pdfAdam Superman
 
kuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptxkuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptxssuser06c28f
 

Similar to LN s07-machine vision-s2 (20)

Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
 
Analisa spasial -_vektor
Analisa spasial -_vektorAnalisa spasial -_vektor
Analisa spasial -_vektor
 
Komputr grafika
Komputr grafikaKomputr grafika
Komputr grafika
 
Pcd 8
Pcd 8Pcd 8
Pcd 8
 
Statistik Manifestasi
Statistik Manifestasi Statistik Manifestasi
Statistik Manifestasi
 
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdfASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
ASLI_ 16_MODUL PRAKTIKUM PENGOLAHAN CITRA DIGITAL v2023.pdf
 
Contoh format tugas makalah
Contoh format tugas makalahContoh format tugas makalah
Contoh format tugas makalah
 
Laporan pcd 01
Laporan pcd 01Laporan pcd 01
Laporan pcd 01
 
401 970-1-sm
401 970-1-sm401 970-1-sm
401 970-1-sm
 
Fotogrametri dijital sift dan surf
Fotogrametri dijital sift dan surfFotogrametri dijital sift dan surf
Fotogrametri dijital sift dan surf
 
9 pengolahan citra
9   pengolahan citra9   pengolahan citra
9 pengolahan citra
 
8186 8 reduksi data
8186 8 reduksi data8186 8 reduksi data
8186 8 reduksi data
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1
 
Pcd topik1 - fundamental
Pcd   topik1 - fundamentalPcd   topik1 - fundamental
Pcd topik1 - fundamental
 
APLIKASI-KOMPUTER-2-AUTOCAD 2D.pdf
APLIKASI-KOMPUTER-2-AUTOCAD 2D.pdfAPLIKASI-KOMPUTER-2-AUTOCAD 2D.pdf
APLIKASI-KOMPUTER-2-AUTOCAD 2D.pdf
 
Tutorial ASTER Imagery DEM Extraction Using ENVI Software
Tutorial ASTER Imagery DEM Extraction Using ENVI SoftwareTutorial ASTER Imagery DEM Extraction Using ENVI Software
Tutorial ASTER Imagery DEM Extraction Using ENVI Software
 
Peningkatan Kualitas Citra Spasial.pdf
Peningkatan Kualitas Citra Spasial.pdfPeningkatan Kualitas Citra Spasial.pdf
Peningkatan Kualitas Citra Spasial.pdf
 
PENGANTAR PENGOLAHAN CITRA.pdf
PENGANTAR PENGOLAHAN CITRA.pdfPENGANTAR PENGOLAHAN CITRA.pdf
PENGANTAR PENGOLAHAN CITRA.pdf
 
kuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptxkuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptx
 
File
FileFile
File
 

More from Binus Online Learning

More from Binus Online Learning (20)

LN s11-machine vision-s2
LN s11-machine vision-s2LN s11-machine vision-s2
LN s11-machine vision-s2
 
LN s09-machine vision-s2
LN s09-machine vision-s2LN s09-machine vision-s2
LN s09-machine vision-s2
 
LN s05-machine vision-s2
LN s05-machine vision-s2LN s05-machine vision-s2
LN s05-machine vision-s2
 
LN s03-machine vision-s2
LN s03-machine vision-s2LN s03-machine vision-s2
LN s03-machine vision-s2
 
LN s02-machine vision-s2
LN s02-machine vision-s2LN s02-machine vision-s2
LN s02-machine vision-s2
 
LN s01-machine vision-s2
LN s01-machine vision-s2LN s01-machine vision-s2
LN s01-machine vision-s2
 
PPT s12-machine vision-s2
PPT s12-machine vision-s2PPT s12-machine vision-s2
PPT s12-machine vision-s2
 
PPT s11-machine vision-s2
PPT s11-machine vision-s2PPT s11-machine vision-s2
PPT s11-machine vision-s2
 
PPT s10-machine vision-s2
PPT s10-machine vision-s2PPT s10-machine vision-s2
PPT s10-machine vision-s2
 
PPT s09-machine vision-s2
PPT s09-machine vision-s2PPT s09-machine vision-s2
PPT s09-machine vision-s2
 
PPT s08-machine vision-s2
PPT s08-machine vision-s2PPT s08-machine vision-s2
PPT s08-machine vision-s2
 
PPT s07-machine vision-s2
PPT s07-machine vision-s2PPT s07-machine vision-s2
PPT s07-machine vision-s2
 
PPT s06-machine vision-s2
PPT s06-machine vision-s2PPT s06-machine vision-s2
PPT s06-machine vision-s2
 
PPT s05-machine vision-s2
PPT s05-machine vision-s2PPT s05-machine vision-s2
PPT s05-machine vision-s2
 
PPT s04-machine vision-s2
PPT s04-machine vision-s2PPT s04-machine vision-s2
PPT s04-machine vision-s2
 
PPT s03-machine vision-s2
PPT s03-machine vision-s2PPT s03-machine vision-s2
PPT s03-machine vision-s2
 
PPT s02-machine vision-s2
PPT s02-machine vision-s2PPT s02-machine vision-s2
PPT s02-machine vision-s2
 
PPT s01-machine vision-s2
PPT s01-machine vision-s2PPT s01-machine vision-s2
PPT s01-machine vision-s2
 
LN sesi 2 delivering quality-1
LN sesi 2 delivering quality-1LN sesi 2 delivering quality-1
LN sesi 2 delivering quality-1
 
PPT Sesi 2 FO the guest delivering quality-1
PPT Sesi 2 FO the guest delivering quality-1PPT Sesi 2 FO the guest delivering quality-1
PPT Sesi 2 FO the guest delivering quality-1
 

Recently uploaded

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 

Recently uploaded (6)

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 

LN s07-machine vision-s2

  • 1. Machine Vision LECTURE NOTES Machine Vision Session 08 Shape Features
  • 2. Machine Vision LEARNING OUTCOMES 1. Peserta diharapkan memahami proses deteksi fitur, terutama fitur boundary dan region serta proses segmentasi citra. OUTLINE MATERI (Sub-Topic): 1. Thresholding 2. Identifying Boundary 3. Identifying Region
  • 3. Machine Vision ISI MATERI Thresholding Image segmentation atau segmentasi citra adalah sebuah proses membagi citra menjadi sub-citra yang memiliki karakteristik serupa. Tujuan dari segmentasi adalah untuk mendekomposisi citra menjadi bagian-bagian yang memiliki makna untuk aplikasi tertentu. Contoh, pada inspeksi PCB (printed circuit board) secara otomatis, perlu dilakukan segmentasi yang dapat membedakan bagian dari PCB yang merupakan hasil proses solder dengan bagian lainnya. Proses inspeksi secara otomatis dapat dilakukan dengan cara membandingkan citra hasil segmentasi yang menunjukkan hasil proses solder pada PCB dengan template yang ada. Gambar berikut memperlihatkan proses segmentasi tersebut: Citra PCB input Citra hasil segmentasi Segmentasi merupakan salah satu proses yang paling sulit dilakukan pada pengolahan citra. Proses segmentasi juga merupakan salah satu proses yang memegang peranan penting karena menentukan keberhasilan dari prosedur analisis citra secara otomatis. Dibutuhkan pertimbangan dalam pemilihan metode agar proses segmentasi dapat menghasilkan output
  • 4. Machine Vision yang optimal. Secara umum segmetasi citra bekerja berdasarkan nilai intensitas warna/graylevel piksel dengan cara mendeteksi 1) diskontinuitas: mempartisi citra berdasarkan perubahan intenitas yang signifikan, biasanya ditemui pada bagian sisi/edge dari sebuah obyek pada citra, atau 2) kesamaan: mempartisi citra menjadi bagian-bagian yang memiliki kesamaan berdasarkan kriteria yang sudah didefinisikan sebelumnya. Thresholding adalah pendekatan yang paling mendasar dalam proses segmentasi. Teknik single value thresholding dapat dirumuskan secara matematis sebagai berikut: dimana T menyatakan nilai threshold/ambang. Contoh berikut memperlihatkan penerapan single value thresholding pada robot pemain poker. Untuk dapat bermain poker, robot harus dapat menginterpretasikan setiap kartu. Proses segmentasi dapat diterapkan untuk memisahkan latar depan (lambang dan nilai setiap kartu) dari latar belakangnya. Langkah berikutnya tentu saja mengenali lambang dan nilai dari kartu tersebut. Gambar berikut memperlihatkan citra input dan hasil proses thresholding. Pemilihan nilai threshold merupakan hal yang sangat penting karena nilai threshold yang tidak tepat akan menghasilkan proses segmentasi yang tidak sesuai dengan harapan. Gambar berikut memperlihatkan hasil proses threholding menggunakan dua nilai threshold berbeda. Gambar pertama memperlihatkan akibat dari pemilihan nilai threshold yang terlalu tinggi, sebaliknya gambar kedua memperlihatkan akibat dari pemilihan nilai threshold yang terlalu rendah.       T y x f if T y x f if y x g ) , ( 0 ) , ( 1 ) , (
  • 5. Machine Vision Berikut algoritma untuk melakukan thresholding menggunakan nilai threshold tunggal untuk keseluruhan citra (single global threshold). 1. Inisialisasi nilai threshold T, biasanya dipilih nilai rata-rata graylevel dari citra. 2. Segmentasi citra menggunakan nilai threshold T pada langkah 1 menjadi dua kelompok piksel: G1 mewakili piksel-piksel dengan nilai graylevel > T dan G2 mewakili piksel-piksel dengan nilai greylevel ≤ T. 3. Hitung nilai rata-rata graylevel semua piksel pada kelompok G1 dan G2, sehingga diperoleh m1 dan m2 . 4. Hitung nilai threshold baru: 5. Ulangi langkah 2 sampai 4 hingga selisih nilai threshold baru dengan nilai threshold pada iterasi sebelumnya dibawah nilai ambang T¥ yang didefinisikan sebelumnya. Algoritma ini bekerja baik untuk mendapatkan nilai threshold yang optimal pada citra yang memiliki histogram dengan karakteristik bimodal atau memiliki dua puncak seperti diperlihatkan pada gambar berikut. Citra input Histogram citra input Hasil segmentasi 2 2 1     T
  • 6. Machine Vision Citra input Hasil segmentasi Histogram citra input Seperti ditunjukkan pada contoh sebelumnya, teknik single value thresholding dapat bekerja baik untuk citra dengan histogram bimodal. Namun terdapat banyak kasus dimana proses segmentasi membutuhkan lebih dari sebuah nilai threshold. Gambar berikut memperlihatkan kasus dimana penggunaan single value thresholding tidak dapat menghasilkan hasil segmentasi sesuai dengan yang diharapkan. Misalkan akan dilakukan inspeksi secara otomatis untuk melihat apakah isi dari setiap minuman pada botol sudah sesuai dengan standar yang ditentukan. Proses segmentasi harus dapat memisahkan isi botol dari botol dan latar belakangnya. Gambar di sebelah kiri merepresentasikan citra input, sedangkan gambar di tengah menunjukkan hasil segmentasi menggunakan teknik single value thresholding, dan gambar terakhir memperlihatkan hasil segmentasi menggunakan dua nilai threshold berbeda. Penggunaan nilai threshold tunggal tidak berhasil memisahkan isi botol, botol dan latar belakangnya. Sedangkan penggunaan dua nilai threshold dapat memisahkan ketiga obyek tersebut dengan baik.
  • 7. Machine Vision ISI MATERI Identifying Boundary Sebuah obyek direpresentasikan sebagai sekumpulan piksel pada citra. Untuk mendukung proses pengenalan obyek maka sifat dari kumpulan piksel perlu dideskripsikan, salah satunya menggunakan object descriptor. Object descriptor dapat dikelompokkan menjadi: 1. Boundary descriptor: merepresentasikan susunan piksel pada perimeter atau sisi dari obyek pada citra. 2. Region descriptor: merepresentasikan susunan piksel pada area di dalam obyek pada citra. Berikut sifat-sifat penting yang perlu dimiliki oleh object descriptor: a. Complete set: dua obyek harus memiliki descriptor yang sama, jika dan hanya jika kedua obyek tersebut memiliki bentuk yang sama. b. Congruent: dapat mengenali dua obyek yang serupa apabila kedua obyek tersebut memiliki descriptor yang mirip. c. Convenient: tidak dipengaruhi oleh proses transformasi (translasi, rotasi, skala, maupun perubahan perspektif). d. Compact set: merepresentasikan esensi dari obyek secara efisien. Boundary adalah bagian dari obyek yang menyatakan sisi atau perimeter dari obyek, atau dapat dikatakan juga sebagai kontur obyek. Boundary dapat ditemukan dengan cara memilih salah satu piksel pada kontur kemudian menelusuri piksel-piksel berikutnya sepanjang kontur searah atau berlawanan dengan arah jarum jam. Penelusuran dilakukan hingga ditemukan kembali titik awal. Hasil penelusuran kontur dapat direpresentasikan sebagai daftar koordinat dari piksel-piksel pada kontur, atau dapat juga disimpan sebagai posisi relatif dari piksel- piksel tersebut. Hal tersebut yang dijadikan ide dasar dari chain code yang merepresentasikan piksel-piksel pada kontur sebagai himpunan koneksi. Koneksi antar piksel dapat dinyatakan sebagai 4-way connectivity atau 8-way connectivity, seperti diilustrasikan pada gambar berikut:
  • 8. Machine Vision Dua gambar berikut memperlihatkan penerapan chain code untuk merepresentasikan kontur dari obyek yang sama. Proses penelusuran dimulai dari piksel dengan label ‘Start’ searah dengan jarum jam. Hal yang perlu diperhatikan adalah pemilihan titik awal dalam proses penelusuran. Pemilihan titik awal yang berbeda dari dua obyek yang sama akan menghasilkan kode yang berbeda. Untuk mengatasi permasalahan ini, dapat digunakan pergeseran digit dengan cara mengganti least significant digit dengan most significant digit dan menggeser digit lainnya. Ilustrasi berikut memperlihatkan proses pergeseran digit untuk memperoleh chain code yang bersifat start point invariant dari kode 8-way connectivity di gambar sebelumnya. Untuk mendapatkan start point invariant dari kode awal dibutuhkan 6 kali pergeseran digit. Hasil akhir dari pergeseran digit akan menunjukkan deretan angka yang terurut naik.
  • 9. Machine Vision Salah satu teknik yang dapat juga digunakan untuk merepresentasikan boundary adalah Fourier descriptor. Fourier descriptor diperoleh dengan cara melakukan transformasi Fourier terhadap boundary dari obyek, dimana setiap titik (x,y) pada boundary dipetakan menjadi sebuah bilangan kompleks x + iy. Fourier descriptor Z(k) dapat dinyatakan oleh persamaan berikut. Bentuk asli obyek dapat direkonstruksi dengan melakukan transformasi Fourier invers, namun apabila hanya digunakan sedikit koefisien hasil transformasi, maka bentuk boundary hasil rekonstruksi menjadi lebih sederhana. Pendekatan Fourier descriptor dapat dimanfaatkan untuk meminimalkan variasi kecil pada obyek yang berbeda. Fourier descriptor bersifat invariant terhadap translasi, rotasi, skala, dan titik awal, artinya Fourier descriptor akan bernilai sama meskipun obyek telah mengalami perpindahan lokasi, perputaran, maupun perbesaran/pengecilan. Gambar berikut mengilustrasikan hasil rekonstruksi penggunaan 9, 19, dan 29 koefisien Fourier descriptor dari sebuah obyek berbentuk payung. Z[k]= DFT[z[m]]= 1 N z[m]e- j2pmk/N m=0 N-1 å Original shape Reconstructed Using 9 FD Reconstructed Using 19 FD Reconstructed Using 29 FD
  • 10. Machine Vision ISI MATERI Identifying Region Region descriptor berfungsi untuk merepresentasikan susunan piksel pada area di dalam obyek pada citra. Terdapat dua jenis region descriptor, yaitu basic region descriptor dan statistical description yang bekerja berdasarkan prinsip momen. Pada basic region descriptor, sebuah area dapat direpresentasikan berdasarkan karakteristik geometrinya, yaitu area (A), perimeter (P), compactness (C) dan dispersion (IR). Berikut rumus dari basic region descriptor dari obyek S. Area menyatakan luas dari obyek, dimana DAmenyatakan ukuran luas dari sebuah piksel. Sehingga jika DA=1 maka luas obyek dinyatakan dalam piksel. Area bersifat invariant terhadap rotasi, namun tidak terhadap skala. Perimeter direpresentasikan oleh koordinat parametrik x(t) dan y(t) yang membentuk kurva yang melingkupi obyek S. Compactness mengukur tingkat efisiensi boundary menutupi area. Sebuah lingkaran sempurna akan memiliki nilai C = 1, artinya lingkaran merupakan bentuk yang paling kompak. Dispersion dapat digunakan untuk mengukur tingkat irregularity, yaitu rasio dari radius maksium terhadap radius minimumnya. Dispersion mendefinisikan rasio antara radius maksimum dari lingkaran yang dapat melingkupi obyek S terhadap radius lingkaran yang dapat dimuat pada S. Lingkaran sempurna akan memiliki nilai IR = 1. Semakin tidak beraturan sebuah obyek (irregular) maka nilai irregularity akan semakin besar. A(S) = I(x, y)DA y  x  P(S) = (xi - xi-1)2 +(yi - yi-1)2 i å C(S) = A(s) P2 (s) / 4p IR(S) = max (xi - x)2 +(yi - y)2 ( ) min (xi - x)2 +(yi - y)2 ( )
  • 11. Machine Vision Berikut contoh perhitungan basic region descriptor dari tiga obyek berbeda. A(S) = 4917 P(S) = 259.27 C(S) = 0.91 PS(S) = 1.03 A(S) = 4917 P(S) = 259.27 C(S) = 0.91 PS(S) = 1.03 A(S) = 4917 P(S) = 259.27 C(S) = 0.91 PS(S) = 1.03 Moment berguna untuk menyatakan susunan/layout dari obyek yang digambarkan oleh susunan piksel-piksel yang membentuk obyek. Moment dapat dikatakan merupakan kombinasi antara fitur area, compactness, irregularity, dan statistika orde tinggi. Moment kartesian dua dimensi I(x,y) didefinisikan oleh: dimana DA menyatakan area dari sebuah piksel. Moment orde 0 dapat dituliskan sebagai: sedangkan moment order 1 dapat dinyatakan oleh: Salah satu variasi dari moment adalah centralized moment yang bersifat invariant terhadap translasi. Centralized moment dapat dinyatakan oleh: mpq = xp yq y  x  I(x, y)DA m00 = I(x, y)DA y  x  m10 = xI(x, y)DA y  x  m01 = yI(x, y)DA y  x  mpq = (x - x)p (y - y)q y  x  I(x, y)DA
  • 12. Machine Vision contoh: Berikut contoh perhitungan centralized moment: Berdasarkan contoh tersebut, dapat dilihat bahwa centralized moment tidak dipengaruhi oleh operasi translasi atau pergeseran namun hal tersebut tidak berlaku terhadap operasi rotasi. Dapat dikatakan bahwa centralized moment bersifat translation invariant tetapi tidak bersifat rotation invariant. Untuk mengatasi kekurangan ini, Hu pada tahun 1962 mengusulkan invariant moment yang bersifat invariant terhadap translasi, rotasi, dan skala. Untuk mendapatkan karateristik tersebut, perlu didefinisikan normalized central moment: Tujuh invariant moment berikut dapat diturunkan dari persamaan diatas: m01 = m01 - m01 m00 m00 m10 = m01 m20 = m20 - m10 2 m00 hpq = mpq m00 g where g= p + q 2 "p+ q ³ 2
  • 13. Machine Vision Berikut contoh perhitungan tiga invariant moment pertama dari sebuah obyek berbentuk pesawat tempur F-14: Seperti dapat dilihat pada contoh tersebut, operasi rotasi dan skala tidak mempengaruhi nilai invariant moment M1, M2, dan M3 secara signifikan.
  • 14. Machine Vision SIMPULAN 1. Operasi thresholding dapat bekerja secara optimal pada citra dengan histogram yang memenuhi kondisi bimodal, trimodal, dst. 2. Sebuah obyek pada citra dapat direpresentasikan oleh susunan piksel pada sisi/perimeternya (boundary) atau susunan piksel dalam obyek tersebut (region). 3. Beberapa sifat penting yang perlu dimiliki oleh sebuah object descriptor adalah complete set, congruent, convenient, dan compact set. 4. Representasi sebuah obyek dapat dinyatakan berdasarkan sifat geometris maupun karakteristik statistiknya.
  • 15. Machine Vision DAFTAR PUSTAKA 1. Gonzales. (2011). Digital Image Processing (3rd Edition). Prentice Hall. New Jersey. ISBN-10: 013168728X. ISBN-13: 978-0131687288 2. Nixon, M. (2008). Feature extraction & image processing (2nd Edition). Academic Press. ISBN: 9780080556727 3. Y.K. Liu, B.Zalik, An efficient chain code with Huffman coding, Pattern Recognition 38 (4) (2005) 553-557. 4. Tutorial on Fourier Theory, http://www.cs.otago.ac.nz/cosc453/student_tutorials/fourier_analysis.pdf 5. OpenCV: Discrete Fourier Transform, http://docs.opencv.org/2.4/doc/tutorials/core/discrete_fourier_transform/discrete_fouri er_transform.html?highlight=fourier 6. L.Keyes, A.Winstanley, Using moment invariants for classifying shapes on large- scale maps, Computers, Environment and Urban Systems 25 (1) (2001) 119-130.