Thursday 30 May 2013

Function (M-file) Fusi (Fusion) Citra Matlab

Function m file fusion - fusi citra
Postingan kali ini ane mau bahas tentang penggabungan citra yang biasanya disebut dengan image fusion, setelah sebelumnya ane bahas tetang thresholding citra di matlab sekarang giliran image fusi / fusion yang ane bahas... dan tentunya juga masi pake matlab.... :D...  kalo dari kata-kata nya "fusion" mungkin tidak asing bagi para penggemar film kartun / anime jepang, dan sangat familiar.... di film dragon ball kan ada itu ya fusion, jadi penggabungan fisik dan kekuatan antara dua orang, biasa nya kalo di film dragon ball itu yang fusion songoku dan vegete, trunk dan songoten.... ketika 2 orang melakukan fusion di film dragon ball maka akan jadi 1 orang yang mempunyai 2 kekuatan dari 2 orang yang bergabung tadi.... :D 
sama hal nya dengan fusion di film dragon ball tadi, fusi / fusion pada pengolahan citra ini adalah penggabungan 2 buah citra yang nantinya hasil dari penggabungan 2 citra ini akan menghasilkan citra baru yang mempunyai nilai2 dari 2 citra aslinya..... tetapi mungkin agak sedikit berbeda saat dengan fusion pada kartun dragon ball tadi, karena pada fusi / fusion citra kita dapat mengatur gambar mana yang lebih dominan / tampak lebih jelas dari ke dua citra input pada citra hasil penggabungan... apakah gambar pertama yang lebih jelas , apakah gambar kedua yang lebih jelas.... itu bisa kita atur dari inputan juga :D
Oia untuk rumus fusion citra nya mungkin dari sisi struktur rumus hanya mempunyai satu, tapi dalam satu struktur itu dapa kita rubah... merubahnya adalah ketika operasi nya, jadi rumus pertama menggunakan penjumlahan sedangkan rumus kedua menggunakan pengurangan.... yaa... biar lebih jelas dan gak tambah bingung sekarang langsung ane kasi dah contoh source code nya... :D
Fusi dengan menggunakan rumus penjumlahan

function hasil = Fusi3(citra1, citra2)

[m,n] = size(citra1);
for k = 1:m
    for l = 1:n
        hasil(k,l) = (citra1(k,l))+(citra2(k,l));
    end
end
figure,subplot(2,2,1);imshow(citra1);title('citra 1');
subplot(2,2,2);imshow(citra2);title('citra 2');
subplot(2,2,3);imshow(hasil);title('hasil Citra');
end
Fusi dengan rumus menggunakan pengurangan
function hasil = Fusi2(citra1, citra2)

[m,n] = size(citra1);
for k = 1:m
    for l = 1:n
        hasil(k,l) = (citra1(k,l))-(citra2(k,l));
    end
end
figure,subplot(2,2,1);imshow(citra1);title('citra 1');
subplot(2,2,2);imshow(citra2);title('citra 2');
subplot(2,2,3);imshow(hasil);title('hasil Citra');
end
Fusi menggunakan rumus yang ada pengontrol gambar yang dominan
function hasil = Fusi(citra1, citra2,nilai)

[m,n] = size(citra1);
nilai2 = 1-nilai;
for k = 1:m
    for l = 1:n
        hasil(k,l) = (nilai*citra1(k,l))+(nilai2*citra2(k,l));
    end
end
figure,subplot(2,2,1);imshow(citra1);title('citra 1');
subplot(2,2,2);imshow(citra2);title('citra 2');
subplot(2,2,3);imshow(hasil);title('hasil Citra');
end

Gampang ya ? dan tentunya unik si... memang untuk matakuliah - matakuliah rumpun AI / Citra sebenarnya unik semua dan bagi ane itu sangat menantang dan harus ditaklukan :D ... hehehee... oke dah, sekian dulu postingan tentang citra fusi / fusion kali ini semoga bermanfaat buat kita semua :)

1 comment:

  1. mantab gan... kayanya nte memahami dengan baik pengolahan citra di matlab ya? boleh dong berbagi ilmu dengan ane.. ane juga lagi belajar pengolahan citra menggunakan MatLab.. mohon bantuanya gan :)

    ReplyDelete