Friday, September 21, 2012

Ekstraksi Fitur Bentuk menggunakan moment invariant

Ekstraksi Fitur  Bentuk citra menggunakan Moment invariant
Edisi kali ini pada computer vision - olah citra, kita akan membahas suatu ekstraksi ciri (fitur citra), anggap saja saya mempunyai beragam bentuk dari suatu objek dan tugas dari algoritma untuk computer vision yaitu mampu mengenali beberapa tipe objek yaitu
  1. Donat (tengah berlubang)
  2. Lingkaran, elipse, dan persegi penuh

 


Berikut adalah citra nya (dijadikan satu citra)




Kami melakukan labelling dan operasi lainnya untuk “menemukan” tiap objek dan menghitung moment citra  nya



Friday, September 14, 2012

Sekilas Tentang Accord.net dan AForge.net


Jika anda menggunakan tools C# (languange) sebagai olah citra dan Framework AForge.Net dan Accord.Net lumayan lengkap

lanjut..

Setelah melakukan explore (hanya karena) ingin mengetahui nilai pixel dari suatu citra, mereka  (framework AForge.Net dan Accord.Net) tidak satupun menyediakan class untuk itu. Hampir semua operasi olah citra menggunakan argument class Image.  Misalkan filter (menggunakan convolution)

AForge.Imaging.Filters.Dilatation dilation=new AForge.Imaging.Filters.Dilatation();
dilation.Apply(image)


atau menggunakan cara berikut
// define emboss kernel
            int[,] kernel = {
                        { -2, -1,  0 },
                        { -1,  1,  1 },
                        {  0,  1,  2 } };
            // create filter
            AForge.Imaging.Filters.Convolution filter = new AForge.Imaging.Filters.Convolution( kernel );

Dikarenakan semua menggunakan Class Image

Monday, September 10, 2012

Problem grayscale 8bit di GdiPluss version 1.0


Penulis sedang terkendala! Hal ini terjadi dikarenakan GDI Plus tidak support 8bit untuk grayscale! Semula niat ingin  (library hanya untuk proses read and create image via value pixel - setelah googling untuk AForge.Net dan Accord.Net tidak ada - belum ada untuk proses read and create - karena sudah biasa menggunakan Java dan Matlab).
membuat citra dari array2D dengan format grayscale Format8bppIndexed (8bit) malah yang tampil seperti ilustrasi diatas!.

Mbah google menjadi ajang wangsit dan menemukan jawabannya yaitu di
see more
http://stackoverflow.com/questions/4679827/c-sharp-why-bitmap-save-ignores-pixelformat-of-bitmap

ternyata GDI+versi 1.0 tidak (belum) mendukung format grayscale 8bit (harus 24 bit alias RGB).. hal ini tentu menjadi sangat boros dan menjadi membingungkan! (dikarenakan matlab dan java pun bisa melakukan hal demikian)

Dari pada pusing, kita dapat menggunakan library AForge.Net untuk melakukan konversi 24bit menjadi 8bit. Jadi skema nya adalah kita tetap membuat code untuk image 24bit tapi setelah itu langsung di konvert ke 8bit. 
lihat ilustrasi diatas (hanya untuk menyajikan format citra grayscale dalam harus 24bit menghasilkan file size 191kB)

Kita akan menggunakan  AForge.Net yaitu
AForge.Imaging.Filters.Grayscale.CommonAlgorithms.RMY.Apply(bitmap);
sehingga akan menghasilkan (8bit dan file size 64.9kB)


kemudian....(akan terjadi masalah dikarenakan konvert tidak equal). Mungkin AForge menggunakan mekanisme yang berbeda..

Saturday, April 7, 2012

Analisis Diskriminan


Misalkan kita mempunyai sebuah klasifikasi mutu yaitu mutu 1 dan mutu 2. Mutu tersebut mempunyai beberapa karakteristik yaitu volume, warna, berat.

Mutu 2
volume
warna
berat
volume
warna
Berat
2
3.4
3
1.4
4.3
5
3
3.6
4
3.2
4.5
6
3.4
2.9
4
3.5
4
5
2.4
3.1
3
2.5
5.1
7
2.5
3
4
2.7
4.8
6


Pertanyaan klasik yaitu manakah dari 3 parameter diatas yang dapat / mampu sebagai ciri khusus untuk membedakan mutu 1 dan 2 ?
Untuk lebih mudahnya kita dapat melihat plot grafiknya yaitu
Volume ada  overlapping

Warna tidak ada overlapping
 
Berat – tidak ada overlapping

sekarang kita akan menggunalan analisis diskriminan untuk mengetahui parameter apa sajakah yang dapat sebagai ciri khusus dari setiap mutu (walaupun secara grafik sudah bisa dilihat bahwa warna dan berat saja yang bisa digunakan karena volume mengalami overlapping ).
Lihat pembentukan table seperti berikut 
volume
warna
berat
Group
2
3.4
3
1
3
3.6
4
1
3.4
2.9
4
1
2.4
3.1
3
1
2.5
3
4
1
1.4
4.3
5
2
3.2
4.5
6
2
3.5
4
5
2
2.5
5.1
7
2
2.7
4.8
6
2


   



Ternyata jika dilihat dari nilai Wilks’ Lambda nya terlihat bahwa berat dan warna adalah parameter yang signifikan yang dapat membedakan antara kedua mutu (nilai wilks’ Lambda mendekati 0) sedangkan volum akan mendekati angka 1