Thursday, 30 May 2013

Function (M-file) Thresholding Citra - Matlab

Function m file thresholding citra matlab code
Yeah... sepertinya dalam waktu dekat ini ane akan banyak bahas tentang matlab untuk pengolahan citra digital, dan kali ini giliran Citra thresholding yang ane bahas diblog ini :D ... kalo untuk membahas pengolahan citra digital sebenarnya bukan tuntutan dari pihak akademik alias tugas kuliah, tapi karena kemauan ane sendiri untuk terus berbagi diblog ini, "We Create and Share" menurut slogan kampus ane... hehehee... untuk matakuliah citra ini sebenarnya sudah ane ikuti tahun lalu, tetapi sifat nya ilegal... jadi hanya ikut masuk ke kelas citra tahun lalu hanya untuk belajar... selama kita bisa belajar kenapa kita tidak memanfaatkan ?? wong gak bayar dan gak dilarang mengikuti kelas secara ilegal.... :D jadi bener kata bapak Ranchodas chancad / punksuk wangdu di film 3 idiot... belajar gak harus pakai uang... yang penting niat dulu.... hehehee...
Oke sekarang kita bahas apa si Thresholding itu ?? dan apa gunanya ?? Thresholding adalah salah satu methode citra yang bertujuan untuk mengubah dimensi citra menjadi citra binner... dengan kata lain citra yang diproses oleh methode thresholding nilai pixel nya hanya akan ada 2 jenis.... kalo gak 1 ya 0... jadi kalo gak putih ya hitam... disini kita harus bisa mengerti yang ane maksud hitam putih itu apa... bukan foto hitam putih... tapi nilai citra nya... kalo gak putih ya hitam... 0 / 1 ....
kalo orang awam bilang foto hitam putih itu menurut pengolahan citra adalah citra grayscale .... bukan thresholding... trus apa guna citra thresholding... sebenar nya banyak guna si... tapi yang paling menonjol adalah membedakan antara object dan background dalam sebuah citra atau gambar.... yang nanti nya akan bisa dimanfaatkan untuk operasi citra yang lain atau bahkan untuk pengembangan sebuah software :D .... wuuuihh... keren ya kayaknya ?? hehehee
Oke sekarang kita bahas tentang implementasinya di matlab... sebelum menuju source code nya.. ada yang perlu ane jelaskan disini... kalo tadi ane bilang citra thresholding itu adalah citra biner yang nilai nya cuma 1 dan 0 , tetapi pada implementasi nya akan sedikit berbeda... dalam operasi untuk warna putihnya itu bukan 1 tetapi tergantung bit citra inputnya, jadi kita ambil nilai tertinggi dari bit citra... misal citra input nya 8 bit maka kita gunakan nilai 255 untuk nilai putih nya.... jadi paham ya ?? sekarang kita beralih pada algortima methode thresholding nya... untuk melakukan nilai thresholding kita butuh sebuah nilai ambang sebagai alat pembatas untuk menentukan pixel mana saja yang akan menjadi putih dan pixal mana saja yang akan menjadi hitam... :D misal ya ?? hehehee kita punya nilai ambang 150 dan L-1 (nilai tertinggi) 255 ... maka semua pixel yang bernilai diatas 150 maka akan dijadikan bernilai 255 alias menjadi putih... kemudian untuk pixel-pixel yang bernilai dibawah 150 maka akan dijadikan 0 alias hitam... :D ... ya gitu aja si algoritmannya... gampang ya ?? oke dah ane pikir ente udah paham dan sekarang ane kasi source code thresholding matlab nya, cekidot : 

function hasil = Thresholding(citra,nilai)

hasil = citra;

[m,n] = size(citra);

for k = 1:m
    for l = 1:n
       if(citra(k,l) > nilai)
            hasil(k,l) = 255;
        else
            hasil(k,l) = 0;
        end
    end
end

figure,subplot(2,2,1); imshow(citra);title('citra asli');
subplot(2,2,2); imhist(citra);title('histogram citra asli');
subplot(2,2,3); imshow(hasil);title('citra hasil');
subplot(2,2,4); imhist(hasil);title('histogram citra hasil');

end
Oke dah untuk postingan Function (M-file) thresholding citra di matlab ini, semoga bermanfaat bagi yang membutuhkan, happy cooding :D

No comments:

Post a Comment