Kamis, 29 Januari 2015

Contrast Stretching Menggunakan Matlab

Pada contrast stretching ini digunakan program matlab, yakni dengan menggunakan metode function, yang dimana functionnya sebagai berikut:


function run = ContrastStretching(r1,r2,s1,s2)
f = imread('low1.jpg');
citra=double(f);
[M N] = size(citra)
L=(2)^8;
Lmaks=(L-1);


for incI=1:M
  for incJ=1:N
        Ibaru=citra(incI,incJ);
        if(Ibaru<r1)
            Ibaru = round((s1/r1)*Ibaru);
        elseif(Ibaru<=r2)
            Ibaru = s1+round((Ibaru-r1)*(s2-s1)/(r2-r1));
        else
            Ibaru = s2+round((Ibaru-r2)*(Lmaks-s2)/(Lmaks-r2));
        end
    citra(incI,incJ)=Ibaru;
    end
end

hasil=uint8(citra)
subplot(2,2,1);imshow(f);title('Citra Asli');
subplot(2,2,3);imshow(hasil);title('Hasil Contrast');
subplot(2,2,2);imhist(f);title('Histogram Awal');

subplot(2,2,4);imhist(hasil);title('Histogram Hasil');


Function tersebut diberi nama ContrastStretching, function akan dijalankan apabila function telah dipanggil, ketika function dipanggil maka akan meproses untuk menghasilkan citra baru beserta histogramnya.

Untuk pemanggilan function, dapat menggunakan:

ContrastStretching(r1,r2,s1,s2)

Yakni memanggil function, diikuti dengan nilai input untuk r1,r1 dan s1,s2 sesuai yang diinginkan

Nilai input tersebut dapat dimasukan dengan bebas selama tidak melebihi batas maksimal/ diatas 255, namun perbedaan nilai input akan menghasilkan citra yang berbeda, karena nilai input tersebut berguna untuk mengatur besaran r dan s pada citra yang akan dihasilkan.

>>ContrastStretching(60,120,150,185);

Pada case ini menggunakan nilai input r1=60,r2=120,s1=150,s2=185


Pada Contrast Stretching ini citra awal dengan contrast yang kurang baik akan menjadi terlihat lebih terang (ada peningkatan contrast) pada hasil akhirnya, namun apabila citra awal memiliki contrast yang sudah baik, justru cenderung menghasilkan citra yang kurang baik, citra dapat menjadi lebih gelap dan kabur/kurang jelas.

Written by: Admin ngampus mulu, ga mampus Updated at : 20:49

0 komentar:

Posting Komentar