Friday 11 December 2015

Bagaimana Melakukan Moving Average Filtering di image processing software (SciLab)



filter=ones(3,3)./9
saltblur=double(salt)
hasil3x3=MaskFilter(saltblur,filter)
ShowImage(hasil3x3,'Hasil Filter 3x3')

filter=ones(5,5)./25
hasil5x5=MaskFilter(saltblur,filter)
ShowImage(hasil5x5,'Hasil Filter 5x5')

filter=ones(7,7)./49
hasil7x7=MaskFilter(saltblur,filter)
ShowImage(hasil7x7,'Hasil Filter 7x7')









Next : Bagaimana Melakukan Median Filtering di image processing software (SciLab)

Bagaimana Melakukan Median Filtering di image processing software (SciLab)




hasilmed3x3=MedianFilter(saltblur,[3 3])
ShowImage(hasilmed3x3,'Hasil Median 3x3')

hasilmed5x5=MedianFilter(saltblur,[5 5])
ShowImage(hasilmed5x5,'Hasil Median 5x5')


hasilmed7x7=MedianFilter(saltblur,[7 7])
ShowImage(hasilmed7x7,'Hasil Median 7x7')

Next : 
Bagaimana Melakukan Filter Sharpening di image processing software (SciLab)

Bagaimana Melakukan Filter Sharpening di image processing software (SciLab)




lenablur=RGB2Gray(lena)
ShowImage(lenablur,'Lena Blur')



filter = fspecial('unsharp', 0.2)
lenasharp=imfilter(lenablur,filter)

ShowImage(lenasharp,'Hasil Filter Sharpening')



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.

Friday 23 October 2015

Bagaimana Cara Membuat Kotak di Scilabs dengan Warna yang berbeda


Kembali lagi bermula dari tugas yaitu :

Buatlah image grayscale kotak berukuran 256x256 sebanyak 3 buah dengan intensitas berbeda dan di dalamnya masing-masing kotak terdapat kecil dengan intensitas yang sama.

Apa yang perlu dilakukan, pertama kita munculkan dulu window gambar dengan command a=figure(1);
"a" disini adalah variable bebas, lalu kemudia kita akan menggunakan fitur uicontrol dengan rumusan sebagai berikut :

h = uicontrol(PropertyName,PropertyValue,...)
h = uicontrol(parent,PropertyName,PropertyValue,...)
h = uicontrol(uich)


Dalam hal ini, berikut adalah command yang digunakan :

uicontrol(a, "position", [0 0 255 255], ...
             "BackgroundColor", "0.875|0.875|0.875");
uicontrol(a, "position", [67 67 120 120], ...
             "BackgroundColor", "0.011|0.011|0.011");

uicontrol(a, "position", [305 0 255 255], ...
             "BackgroundColor", "0.756|0.756|0.756");
uicontrol(a, "position", [372 67 120 120], ...
             "BackgroundColor", "0.011|0.011|0.011");

uicontrol(a, "position", [305 305 255 255], ...
             "BackgroundColor", "0.609|0.609|0.609");
uicontrol(a, "position", [372 372 120 120], ...
             "BackgroundColor", "0.011|0.011|0.011");

uicontrol(a, "position", [0 305 255 255], ...
             "BackgroundColor", "0.539|0.539|0.539");
uicontrol(a, "position", [67 372 120 120], ...
             "BackgroundColor", "0.011|0.011|0.011");


Command diatas memiliki masing-masing fungsi seperti position adalah fungsi untuk menyimpan nilai koordinat dimana [a b c d] adalah :
  • a = koordinat x awal
  • b = koordinat y awal
  • c = besarnya rentang x
  • d = besarnya rentang y
Jika kita asumsikan untuk menggambar persegi panjang dengan a adalah panjang dan b adalah lebar, kita ingin mengambar persegi panjang dengan ukuran panjang 20 dan lebar 10 di koordinat awal x,y (5,4).
Maka isian yang harus digunakan adalah  [5 4 20 10]

Terakhir, agar background dari window gambar maka kita gunakan command :

a.color_map=whitecolormap(255);

kode 255 adalah untuk warna putih,

Berikut adalah tampilan hasilnya



Sekian semoga dapat bermanfaat, Terimakasih