Friday 27 November 2015

Bagaimana Melakukan Histogram Equalization di image processing software (SciLab)


Pada artikel tentang image processing digital ini, kita akan membahas cara merubah kontras warna, tentunya kita mulai dari tipe gambar grayscale terlebih dahulu.

Cara processing image yang akan digunakan adalah Histogram Equalization :

Berikut adalah coding yang dapat di gunakan dalam image processing software (SciLab).



-->GBR = ReadImage('D:\aerial.tiff');
-->imshow(GBR);
 
-->[counts, cells]=imhist(GBR);
-->scf(0); plot2d3(cells, counts, rect=[0,0, 256, max(counts)]);


-->cumulative_sum = cumsum(counts);
-->cumsum_max = max(cumulative_sum);
-->cdf = cumulative_sum/cumsum_max;
-->scf(1); plot2d(cells, cdf, rect=[0, 0, 256, max(cdf)]);


-->function inv_linearCDF = invLinearCDF(y)
-->y = y*255;
-->inv_linearCDF = round(y);
-->endfunction
-->K = GBR;
-->for i = 1:256
-->  new_x = invLinearCDF(cdf(i));
-->K (find(GBR==i-1)) = new_x;
-->end
-->imshow(K)

***Penjelasannya dilanjut besok ya..

Thursday 19 November 2015

Retrieval Information dari kumpulan data yang sangat banyak

Dalam artikel ini akan membahas tentang retrieval information dari kumpulan data yang sangat banyak, dalam hal ini kita akan membahas terkait teori retrieval information ini.

Terdapat 2 jenis retrieval information yaitu :
1. retrieval information dari data yang terstruktur
2. retrieval information dari data yang tidak terstruktur

Pada artikel ini akan dibahas terkait retrieval information dari data yang tidak terstruktur.

Apa itu Information Retrieval ?

Adalah menemukan kembali materi(data) dari kumpulan data tidak terstruktur (biasanya text) yang memenuhi kebutuhan informasi yang di inginkan dari kumpulan data yang besar (biasanya berada di dalam komputer).

Ada beberapa istilah dalam retrieval information :
- Precision : Bagian data yang terambil yang relevan dengan informasi yang user inginkan
- Recall : Bagian dokumen yang relevan dalam kumpulan data yang terambil.

Dalam langkah-langkah untuk mengambil data yang ada dalam kumpulan data yang besar ini, harus dilakukan Inverted Index atau indeks terbalik,
Mengapa dikatakan indeks terbalik, karena dimulai dalam memberikan keywords dan mencari dokumen yang terdapat keywords.

Berikut adalah langkah-langkah dalam mengolah banyak document sehingga bisa di dapat keywords/term untuk masing-masing dokumen.

1. Banyak dokumen di indeks sehingga terbaca apa saja yang ada didalam dokumen tersebut.
Tokenizer :
- Memecah data dalam dokumen sehingga menjadi kata demi kata.

2. Token stream : setelah diproses (tokenizer) maka akan ada banyak kata yang didapat dalam sebuah dokumen.
 Linguistic module :
- memproses kata/keywords/term menjadi lebih spesifik seperti : merubah kata --> automate's, automatic, automation menjadi satu kata yaitu automate.

3. Modifikasi token : setelah diproses oleh linguistic module maka terms sudah di optimize.
 Indexer :
- kata yang sudah dimodifikasi/optimize di index dan dijadikan term/keywords

Dari informasi diatas, kita sudah dapat membayangkan bagaimana crawler atau robot dari search engine melakukan pengindeks-an halam web yang ada di WWW.

Selanjutnya, akan kita bahas tentang permasalahan dalam tokenize di artikel selanjutnya.

Tuesday 17 November 2015

Bagaimana Cara Menggambar Kotak di image processing software (SciLab) menggunakan matriks


Pada artikel tentang image processing digital sebelumnya Bagaimana Cara Membuat Kotak di Scilabs dengan Warna yang berbeda telah di bahas bagaimana cara membuat kotak dengan menggunakan command uicontrol pada image processing software SciLab,
Nah pada kesempatan ini, akan dibahas Bagaimana Cara Memggambar Kotak di SciLab menggunakan Matriks.

Berikut adalah langkah-langkah membuat kotak dengan menggunakan matriks :
1. Bila dimulai dari pixel ke 0 maka command yang digunakan adalah

a=ones(10,10);

Dimana :
a adalah variabel yang akan di isi matriks kotak.
(10,10) adalah besar pixel x=10 dan pixel y=10 sehingga variable a akan menghasilkan gambar kotak, apabila ingin menggambar persegi panjang maka tinggal menyesuaikan value ini, contoh: (100,200).

Hasil dari command di atas adalah sebagai berikut :


1. adalah value dari gray colour (0-255) dimana makin kecil warna menjadi lebih gelap sehingga menghasilkan gambar berwarna hitam apabila value bernilai 0, hal ini berlaku untuk sebaliknya, gambar akan berwarna putih apabila value bernilai 255.

Selanjutnya kita akan melakukan processing image dengan merubah value tersebut ke intensitas lebih terang, berikut adalah commandnya

a(2:4,2:4)=100

Pada command di atas memiliki arti nilai matriks yang berada di variabel a dengan posisi pixel di sumbu x dimulai dari poin 2 ke poin 4 dan pada sumbu y dimulai dari poin 2 ke poin 4 dirubah value gray colour-nya menjadi 100.
Berikut hasil yang di dapat :






Dari hasil ini kita dapat menyimpulkan bahwa value yang dirubah sudah benar yaitu di pixel {(2,2),(2,3),(2,4),(3,2),(3,3),(3,4),(4,2),(4,3),(4,4)}

Lalu agar kita bisa membandingkan dengan lebih jelas perbedaan value intensitas ini, maka kita lakukan lagi processing image dengan membuat satu lagi perbuhan dengan command

a(2:4,5:8)=200

Makan hasil yang didapat adalah


Dan terakhir kita tampilkan gambarnya dengan menggunakan command

ShowImage(a,"Gray")



Terimakasih, tolong bantu share ya.