header

header

Sunday, June 15, 2014

සංඛ්‍යාංක ප්‍රතිබිම්බ සැකසුම හා පරිගණක ආශ්‍රිත චිත්‍රක-4

අද පාඩමෙන් ඉතිරි image processing-enhancements ටික කතා කරමු.
2.Logarithmic Transformations
මෙම transformations යොදා ගන්නේ අඩු තීව්රතා (intensities) සහිත images වල details(මේ කියන්න contrast එකමයි) වැඩි කරන්න.
S = c log(1+r) කියන සමීකරණය තමයි භාවිතා වෙන්නේ මෙතනදී.c කියන්නෙ නියතයක්.මෙම c අගය වැඩි කිරීමෙන් තවදුරටත් contrast එක වැඩි කරගන්න පුළුවන්.r හැම විටම ධන අගයක් ලෙසයි සලකන්නේ(r>=0).පහත පින්තුරවලින් දැක්වෙන්නේ විවිධ c අගයන්ට transformations කිහිපයක්.
original image
transformed image(c=1)
transforme image(c=2)

I=imread('tire.tif');
imshow(I)
I2=im2double(I);%input image එක double බවට හැරවීම.
J=1*log(1+I2);
J2=2*log(1+I2);
J3=5*log(1+I2);
figure, imshow(J)
figure, imshow(J2)
figure, imshow(J3)

3.Gamma Transformations
Gamma Transformations මගින් අපට grayscale image යක intensity එක brighten හෝ darken කරන්න පුළුවන්.ඔය දේ වෙන්නේ  පිලිවෙලින් gamma අගය 1 වැඩිය අඩු වෙනකොට හා gamma අගය 1 වැඩිය වැඩි වෙනකොට.
imadjust(f, [low_in high_in], [low_out high_out], gamma) තමයි අපි බාවිතා කරන matlab code එක.f කියන්නෙ input image එක.[low_in high_in] සහ [low_out high_out] යොදාගන්නේ clipping(පසු පාඩමකදී සාකච්චා කිරීමට නියමිතයි. ) සදහා.නමුත් අපි මෙතනදී  input image එක clipping බලාපොරොත්තු වෙන්නේ නැති නිසා ඒ parameters සදහා [],[] ලෙස හිස්ව තබන්නයි හදන්නේ.
විවිද gamma අගයන්ට අනුව function එක වෙනස්වෙන හැටි පහත ප්‍රස්ථාරයේ දැක්වෙනවා.
පහත දැක්වෙන්නේ අපේ උදාහරණයට යොදාගන්න සම්පුර්ණ matlab code එක හා ලැබෙන transformations ටික.
I=imread('tire.tif');
J=imadjust(I,[],[],1);
J2=imadjust(I,[],[],3);
J3=imadjust(I,[],[],0.4);
imshow(J);
figure,imshow(J2);
figure,imshow(J3)
original image
transformed image(gamma=0.4)
transformed image(gamma=3)
4.Contrast-Stretching Transformations
Contrast-Stretching Transformations මගින් ආලෝක(light) හා අදුර(dark) අතර contrast වැඩි කරන්න පුළුවන්.තව දුරටත් කිව්වොත් කිසියම් අපි කැමති gray level එකක් ආසන්නයේ මුළු image එකම පතුරවන්න ඕන වෙලාවට මේ transformation එක භාවිතා කරන්න පුළුවන්.
g=1./(1 + (m./(double(f) + eps)).^E)
E කියන්නෙ function එකේ බැවුම පාලනය කරන විචල්‍යය.m කියන්නෙ dark values ,white values බවට හරවන්න ඕන මධ්‍ය රේඛාව.මෙහිදීත් මතක ඇතුව input image එක double බවට හරවන්න ඕන.
පහත දැක්වෙන්නේ විවිධ E අගයන්ට function එක වෙනස්වෙන  ප්‍රස්ථාරය.

I=imread('tire.tif');
I2=im2double(I);
m=mean2(I2)
contrast1=1./(1+(m./(I2+eps)).^4);
contrast2=1./(1+(m./(I2+eps)).^5);
contrast3=1./(1+(m./(I2+eps)).^10);
imshow(I2)
figure,imshow(contrast1)
figure,imshow(contrast2)
figure,imshow(contrast3)
original image
transformed image(E=4)
transformed image(E=5)
transformed image(E=10)
ඉතිරිය සමගින් යලි හමුවෙමු. 

Monday, June 9, 2014

සංඛ්‍යාංක ප්‍රතිබිම්බ සැකසුම හා පරිගණක ආශ්‍රිත චිත්‍රක-3

මීලග පාඩමෙන් අපි Image Acquisition හා Image Enhancement පිලිබදව කතා කරමු.පහත දක්වා ඇති රූප සටහනෙන් DIP වලදී අප කතා කිරීමට බලාපොරොත්තු වන මාතෘකා දක්වල තියෙනවා.ඒවා image processing වල මුලික පියවරවල් හැටියටත් දක්වන්න පුළුවන්.

Image Acquisition
පළමු මාතෘකාව වන Image Acquisition වලදී කෙරෙන්නේ ප්‍රතිබිම්බයක් ලබා ගැනීමයි.වචනේ අර්ථයෙන්ම තේරෙනවනේ ඒක.මෙතනදී විශේෂ දෙයක්(ඉදිරියට බොහෝ විට කතා කෙරෙන) දැනගන්න ඕන .ඒ තමයි,spatial resolution හා gray-level resolution කියන දෙක.සරලවම කිව්වොත් spatial resolution කියන්නෙ පික්සල්ස්,ඩොට්ස් ගැන හිතලා කරන වෙන්කිරීම.ග්‍රේ ලෙවල් කියන්නෙ වර්ණ වෙනස්වීම සලකලා කරන වෙන්කිරීම(විච්ඡේදනය).

මෙතනදී තව දෙයක් කියන්න ඕන.අපි ඉමේජ් ලබාගන්න සෙන්සර්ස් වලින් දෙන්නේ යම් සන්තතික වෝල්ටේජ්(continuous voltage) එකක්.මේක ඩිජිටල් කරගන්න ප්‍රධාන ක්‍රමවේද දෙකක් භාවිතා කරනවා.එකක් තමයි. Sampling කියල කියන්නෙ.මෙයින් අදහස් කෙරෙන්නේ  ප්‍රතිබිම්බයේ කන්ඩාංක ඩිජිටයිස් කිරීම.Sampling කියන්නෙ Spatial resolution තීරණය කරන ප්‍රධාන සාදකය කියන්න පුළුවන්.අනිත් එක Quantization.ඒ කියන්නෙ විස්තාරය(voltage එකේ) සලකලා කරනු ලබන ඩිජිටයිස් කිරීම.

Image Enhancement in Spatial Domain
අපි දැන් image enhancement in spatial domain පිලිබදව කතා කරමු.මෙහිදී පළමුව පහත පරිදි වර්ගීකරණයක් ඉදිරිපත් කරන්න පුළුවන්.
මෙහි ඉන්ටෙන්සිටි ට්‍රාන්ස්ෆොමේෂන් යටතේ photographic negatives,log transformations,gamma transformations හා contrast stretching කතා කිරීමට පුළුවන්.මම මෙහිදී සිදුකරන සංස්කරණයන් සදහා sample matlab codes බලාපොරොත්තු වෙනවා.මොකද මම මේ පාඩම විශ්ව විද්යාලේදී ඉගෙන ගත්තෙත් (මේ සිමෙස්ටරයේ) matlab software එකෙන්.


  1. Photographic Negatives

හරි,පළවෙනියට negatives,නෙගටිව් ඉමේජ් එකක් කියන්නෙ(උදාහරණයක් විදියට gray-scale image එකක් ගත්තොත්) ඒකෙ කළු->සුදු බවටත් සුදු->කළු බවටත් ඒ අතර අගයන්(r) අනුරුප 1-r අගය බවටත් හරවන එක.බලන්න පහත ප්‍රස්තාරය,එකෙන් මේ කියන ඩේ පැහැදිලි වේවි.(gray-scale image කියන්නෙ කළු සුදු අතර වර්ණ දෙකේ බලයන් ලෙසින් තියෙන ඉමේජ්ස්,1 bit නම් කළු හා සුදු විතරයි.)  
S = L – 1 - r මෙන්න මේ ගණිතමය සුත්‍රය තමයි භාවිතා වෙන්නේ.
මේකට අදාළ කෝඩ් එක පහත දැක්වෙනවා.
I=imread('tire.tif');%මෙතන ඔබේ ඉමේජ් එකේ පාත් එක දෙන්න.
imshow(I);
J=imcomplement(I);
figure, imshow(J)


ඉතිරිය සමගින් යලි හමුවෙමු. 
original image 
negative image