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.
0 komentar:
Posting Komentar