Sunday, December 28, 2014

පරිගණක හා ජාල ආරක්ෂාව 1

අද පටන් පරිගණක  හා ජාල ආරක්ෂාව පිලිබදව පාඩම් මාලාවක් රැගෙන එන්නයි බලාපොරොත්තුව,මේ පාඩම මම ඉගෙනගත්තේ නිමාවුණු දෙවන වසර දෙවන සිමෙස්ටර්යේදී.මේක මම ගොඩක්  ආශාවෙන් ඉගෙන ගත්ත subject එකක්.කොළබ UCSC එකේ Dr.කසුන් ද සොයිසා සර් තමයි මේ lecture එක අපිට කරේ විසිටින්ග් ලෙක්චරර් කෙනෙක් හැටියට.විෂය කරුණු කියල දුන්නට පලමුවන්ම එතුමන්ට ස්තුතිවන්ත වනවා.
හරි,පළවෙනියටම ඉගෙන ගන්න යන පරාසය දැන ගෙන ඉදිමු.කලින් කතා කරපු මාතෘකාව වගේ දිනෙන් දින අලුත් වෙන ගොඩක් විෂය කරුණු තියෙන subject එකක් මේකත්.

සැ.යු.විෂය තුල සදහන් වචන සදහා බොහෝ විට ඊට අදාල ඉංග්‍රීසි වදනම භාවිතා කෙරේ.
Introduction
බොහෝවිට පරිගණක ආරක්ෂාව කියල කියනකොටම අපේ ඔලුවට එන්නේ,virus,firewalls,locks ඔය වගේ සංකල්ප ,නමුත් පාඩම් මාලාව ආරම්බ කරනකොටම මම මතක් කරනවා,දත්ත හා ජාල තුල ආරක්ෂාව තහවුරු කිරීම සදහා ඉන් එහා බොහෝ දේ ඇති බව.
පරිගණක ආරක්ෂාව ඇතිකිරීම යනුවෙන් මුලිකවම අදහස් කරනු ලබන්නේ පරිගණක වැඩසටහන්වල හා දත්තවල availability,authenticity,integrity,non-repudiation,confidentiality යන ගුණාංග තහවුරු කර ගැනීම සදහා ක්‍රම හා තාක්ෂණ නිර්මාණය කිරීමයි.මේ ගුණාංග වලටම තමයි,network services කියල කියන්නෙත්.ඉතින් ඕනෑම security method එකක් විශ්ලේෂණය කරලා බැලුවොතින් මේ කියන security issue එකක් හෝ කීපයක් තමයි ඒ මගින් implement කරලා තියෙන්නේ.ඒ දේවල් පිලිබදව වෙන් වෙන්ව පැහැදිලි කර ගනිමු. 

Confidentiality 
පරිගණක හා සම්බන්ද දේවල් අවසරලත් අයට පමණක් නිරාවරණය කිරීම තමයි මෙයින් අදහස් කෙරෙන්නේ.කාටහරි යවන පණිවිඩයක් ගැන හිතුවොත් යවන්නා හා ලබන්නා පමණයි එහි අන්තර්ගතය පිලිබදව දැන ගන්න අවශ්‍ය,අතරමැදි අයෙකුට(තෙවන පාර්ශවයකට)  එහි අන්තර්ගතය නොවැටහෙන්න අවශ්‍යයි.මෙම සංකල්පය තේරුම් ගැනීම පහසු වුවත් implement කිරීම ඉතා අපහසු වෙනවා.

Integrity
මේ වචනය බොහොමයක් තැන්වල විවිද තේරුම් වලින් භාවිතා වෙනවා(database management systems වල එහෙම).පරිගණක ආරක්ෂාව පිලිබදව කතා කරනකොට මෙයින් පහත අදහස් හා තේරුම් බලාපොරොත්තු වෙනවා.

  • precise-සම්පුර්ණබව හා නිවැරදි බව
  • Accurate-නිවැරදි බව
  • Unmodified-දත්ත සන්නිවේදනයේදී නොවෙනස්ව පැවතීම
  • Consistent-සංගත බව
  • Meningful and usable-අර්ථවත් බව හා ප්‍රයෝජනවත් බව


මෙම කරුණු පහම integrity තුලින් බලාපොරොත්තු වුවද මෙයින් මුලිකවම වැදගත් වන්නේ තෙවෙනියට කියපු නොවෙනස්ව පැවතීම කියන එක,කෙනෙක් තව කෙනෙක්ට පණිවිඩයක් යැව්වම ඒ පණිවිඩය අතරමගදී වෙනස් වුනාද /නොවෙනස්වම ගියාද කියන කරුණ තහවුරු කරගැනීමයි මෙමගින් අදහස් වෙන්නේ.

Availability
මීටම තමයි accessibility කියල කියන්නෙත්.යම් සේවාවක්(client server ආකෘතිය තුල අපට හමුවෙන්නේ සේවකයෝයි,සේව්‍යයෝයිනේ :) ) අදහස් කරනු ලබන පාර්ශවයකට කරදරයක් බාදාවක් නැතුව ලබා ගැනීමට හැකිදැයි තහවුරු කරගැනීම මෙමගින් සිදුවෙනවා.හිතන්නකෝ මොනවා හරි සර්වර් එකක් තියෙනවා,හැකර් කෙනෙක් මොකද කරන්නේ මේ සර්වර් එක පාවිච්චි කරන අයට මේක use කරන්න බැරිවෙන විදියේ Busy කිරීමක් කරනවා.(server යක් සදහා වරකට පවත්වා ගත හැකි උපරිම threads ප්‍රමාණයක් තියෙනවා.මේ ප්‍රමාණය ඉක්මවූ විට තමයි සර්වර් busy වෙන්නේ).

Non repudiation
මේ සංකල්පය පැහැදිලි කරන්න පුළුවන් මෙන්න මේ විදියට.ඉලෙක්ට්‍රොනිකව අන්තර්ජාලය හරහා යම් මිලදී ගැනීමක් සිදුකරලා ඊට යම් ගෙවීමක් සිදුකරා යැයි හිතන්න.ඒ අවස්තාවකදී අදාල වෙළෙන්දා තමන් මුදල් ගෙවලා තියෙද්දිත් නොගෙව්වා කියල ප්‍රකාශ කරනවා කියලා හිතන්නකෝ.ඒ වගේ අවස්තාවකදී තමන් නිවැරදී බව ඔප්පු කරන්න යම් ක්‍රමවේදයක් සකස් කරලා තියෙන්න ඕන කියල තේරෙනවනේ.මේක ගොඩක් වැදගත් වෙන්නේ නීතිමය කටයුතු වලදී.මෙමගින් සිදු කෙරෙන්නේ අන්න එහෙම යම් පාර්ශවයක් යමක් කරලා තියෙද්දී ඒ දේ ප්‍රතික්ෂේප කරන්න බැරිවෙන විදියේ ක්‍රමයක් ගොඩක් හදන එක. 

Authenticity
සන්නිවේදනය සිදුවෙන පාර්ශවය අතරේ (යවන්නා හා ලබන්නා ) කව්ද කියල හරියටම ඒ අයගේ identification එක තහවුරු කර ගන්න ඕන,සංනිවේදන කටයුතු ආරම්බ කරන්න කලින්.අපි Account එකකට log වෙන්න කලින් username ,password දෙන්නේ ඔන්න ඔය කියන Authentication කියන එක තහවුරු කරන්න.ඊලගට හිතන්නකෝ ATM එකෙන් සල්ලි ගන්නකොට PIN NO. එකට අමතරව ATM Card එක කියලා token එකකුත් බාවිතා කරනවා.තවත් ඔබ දැකල ඇති ඇහේ retina එක fingerprint වැනි සිරුරේ යම් යම් කොටස් යොදාගෙන කරනු ලබන authentication ක්‍රමවේද.

හරි network security ගැන කතා කරනකොට ඔය කරුණු පහ පැහැදිලිව වෙන් වෙන් වශයෙන් දැනගෙන ඉන්න ඕන.හරියට භාෂාවක හෝඩිය වගේ.

සැ.යු.මෙහි සදහන් විෂය කරුණු කතෘගේ අවබෝදය මත රදා පවතින අතර විෂය පිළිබද ප්‍රමාණික විද්වතෙකුට මෙහි යම් සාවද්‍ය කරුණක් සදහන්ව ඇත්නම් පෙන්වා දිය හැක.එවැනි පෙන්වාදීමක් කෘතවෙදීව පිලිගනිමි. 

Saturday, October 4, 2014

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

අද අපේ මාතෘකාව වෙන්නේ Image Segmentation.Digital image එක ප්‍රයෝජනවත් කොටස් වලට කැඩීමයි ,සරලවම කිව්වොත් මෙතැනදී වෙන්නේ.මේ නිසා ඉමේජ් එක විශ්ලේෂණය කිරීම පහසු වෙනවා.එකම ලක්ෂණ තියෙන පික්සල්ස් මෙමගින් වෙන්කර ගන්නවා.ලක්ෂණ කියල මෙතැනදී මම අදහස් කරේ, පාට,තීව්‍රතාවය හා ටෙක්ස්චර් වගේ දේවල්.
යෙදීම්(Applications)
විශේෂයෙන් Medical Imaging වලදී ලබා ගන්නා ප්‍රතිබිම්බ මෙලෙස segment කිරීමෙන් බොහෝ තොරතුරු අනාවරණය කරගනු ලබනවා.ඒවගේම interpolation alogarithms යොදාගෙන ත්‍රිමාන ප්‍රතිබිම්බ ප්‍රතිනිර්මාණය කිරීමටත් මෙමගින් හැකියාව ලැබෙනවා.මීට අමතරව Image Segmentation යන්න භාවිතා වන තවත් අවස්තාවක් වන්නේ Object Detection සදහා.එනම් රේගුවේ හා වෙනත් පරීක්ෂා ස්ථානවල ගමන් මලු පරික්ෂා කර ලබා ගන්න පරිලෝකන ප්‍රතිබිම්බ වලින් වස්තු හදුනාගැනීම එම ඉමේජ් , segment කිරීමෙන් පසුවයි කෙරෙන්නේ. ඒවගේම Face Detection,Pedestrian Detection,Break light Detection වැනි හදුනාගැනීම් බොහොමයක ඉමේජ් සේග්මන්ටෙෂන් භාවිත වෙනවා.තවද Face recognition,Fingerprint recognition,Iris recognition වැනි රෙකග්නිෂන් ටාස්ක්ස් වලදීත් මෙය භාවිතා වෙනවා.

Image segmentation අලෝගරිත්ම
මෙම සැම අලෝගරිතමයක්ම සාමාන්‍යයෙන් intensity values වල ප්‍රධාන ලක්ෂණ දෙකක් මත රදා පවතිනවා.
එනම්,
discontinuity-edges වල intensity වෙනස්කම් සලකා ඉමේජ් කොටස් වෙන්කිරීම මෙහිදී සිදුකෙරේ.
Similarity-එක සමානකම් සලකා සිදු කරනු ලබන වෙන්කිරීම්


  • Thresholding

imege segmentation වලදී භාවිතා වන සරලම ක්‍රමය මෙයයි.threshold value නමින් තෝරා ගන්න ලබන අගයක් සලකා greyscale ඉමේජය binary imageයක් බවට පත්කරනවා.එවිට එම ත්රෙශෝල්ඩ් අගයට ඉහල හා පහල කළු හා සුදු වශයෙන් වෙන්වෙනවා
මෙලෙස ත්රෙශෝල්ඩ් අගය සලකා බලා points,lines වැනි දේ detect කරන්න පුළුවන්.



  • Histogram-based Methods

අනෙකුත් segmentation methods හා සංසන්දනය කර බැලීමේදී මෙය වඩා කාර්යක්ෂම ක්‍රමය වෙයි.මෙහිදී ඉමේජ්යේ සියලු පික්සල් සලකා අදිනු ලබන histogram එකක් භාවිතා කරයි.එහි ශීර්ෂ හා නිම්න මගින්  clusters වෙන් කිරීම සිදුවෙයි.මෙම උපක්‍රමය නැවත නැවත යෙදීමෙන් තව දුරටත් වෙන් කල නොහැකි clusters කිහිපයක් බවට පත් කර ගත හැකිය.මෙම සේග්මන්ටෙෂන් ක්‍රමය නිශ්චල ප්‍රතිබිම්බ වෙන්කිරීම සදහා මෙන්ම චල ප්‍රතිබිම්බ වෙන්කිරීම් සදහාද භාවිතා වෙයි.


  • Edge Detection

ඉමේජ් ප්‍රොසෙසින්ග් වලදී වඩා දියුණු ක්ෂේත්‍රයක් ලෙසින් මෙය හදුනාගන්න පුළුවන්.region boundaries වල intensity values වල විශාල වෙනස්වීම edges හදුනාගන්න භාවිත කරනවා.

මීට අමතරව segmentation සදහා තවත් techniques බොහොමයක් තිබෙනවා.එයින් කිහිපයක් මා සදහන් කරත් ඒවා පිළිබද විස්තර වශයෙන් කතා කිරීමට බලාපොරොත්තු වෙන්නේ නැහැ.

  • Compression-based methods
  • Region-growing methods
  • Partial differential equation-based methods
  • Graph partitioning methods
  • Model based segmentation
  • Multi-scale segmentation
  • Semi-automatic segmentation
  • Trainable segmentation 

 තවත් ලිපියකින් යලිත් හමුවෙමු.

Sunday, September 7, 2014

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

Morphological image processing
හොදයි,ඊලග ලිපිය දාන්න ටිකක් පරක්කු වුනා වගේ.අද පාඩමෙන් අපි ඉගෙන ගන්න යන්නේ morphological image processing පිලිබදවයි.image restoration වලින් පස්සේ තමයි,මේ පාඩම වැටෙන්නේ.image එකක හැඩය හා සම්බන්ද non-linear operations කිහිපයක එකතුවක් තමයි,morphological image processing වලදී අපි කතා කරන්නේ.
කලින් පාඩමේදී සදහන් කෙරුණු පරිදි morphological operations වලදීත් අපි structuring element එකක් භාවිතා කරනවා.මෙම structuring element එක ඉමේජය මත තබමින් අසල්වැසි පික්සල්ස් සමග සසදමින්(fits,hits or intersects-පළමු පින්තුරය බලන්න) විවිද operations සිදුකරනු ලබනවා.තවත් කරුණක් සදහන් කලයුතුයි,මෙම operations 100% වැඩ කරන්නේ binary images වලට.grayscale images වලට යොදාගන්නවා නම් convert(threshold) කරලා තමයි භාවිතා කරන්න ඕන.
original grayscale image
converted binary image


අපි මීලගට morphological fundamental operations පිලිබදව කතා කරමු.
Erosion and Dialation
erosion කියන්නෙ ඉංග්‍රීසියෙන් ඛාදනය කියන එකේ.(අපි soil erosion කියල කියන්නෙ ;))මෙතැනදී වෙන්නෙත් ඒ වගේ දෙයක් තමයි.structuring element එකේ origin එකත් එක්ක fit වෙනවනම් origin පික්සල් ඉතුරුවෙද්දී අනිත් ඔක්කොම පික්සල් ඉමේජයෙන් ඉවත් කිරීම සිදු කරනවා.මෙය g= f θ s ලෙස නිරුපනය කරනවා.  f මගින් ඉන්පුට් ඉමේජයත්,s මගින් structuring element එකත්,g මගින් නව ඉමේජයත් දැක්වෙනවා.
original binary image
after erosion
erosion
2x2-5x5 අතර structuring elements භාවිතා කරමින් erosion යෙදීමෙන් ඉමේජයක සිදුරු හා ඉඩ (holes and gaps) වැඩි කරගනිමින් කුඩා විස්තර අනාවරණය කරගන්න හැකිවෙනවා.
  • s1 හා s2 යනු එකම හැඩයෙන් යුතු එමෙන්ම s2,s1 මෙන් දෙගුණයක් විශාල structuring element දෙකක් යයි සැලකුවහොත් පහත සම්බන්දය සපුරන බව සොයා ගැන තියෙනවා.                                                     f θ s2 ≈ (f  θ s1)  s1
හරි අපි දැන් dilation පිලිබදව බලමු.dilation කියන්නෙ erosion වල අනිත් පැත්ත කිව්වට වැරදි නැහැ.ඒ කියන්නෙ structure element එකේ origin එක fit වෙනවනම් ,අපි ඒ origin පික්සල් එක එකතු කරනවා.මෙහෙම කරනකොට මුල් ඉමේජ් එකේ inner ,outer boundaries වලට තව පික්සල් layers එකතු වෙනවා.මෙය නිරුපනය කරන්නේ ,g = f  s .f,s  කලින් සංකේත දැක්වෙයි.
original binary image
after dilation

dilation

erosion හා dilation ඇසුරෙන් පහත සම්බන්දය දක්වන්න පුළුවන්.
f  s = f c  srot
fc මගින් f  ඉන්පුට් ඉමේජ් එකේ complement එක දැක්වෙනවා.ඒ කියන්නෙ binary image එකේ 1 තියෙන තැනට 0 දැම්මම ලැබෙන negative imageයි.srot කියන්නෙ s structuring element එක අංශක 180කින් rotate කරාම ලැබෙන SE එක.
fundamental operations හැටියට තවත් දෙකක් කතා කරන්න පුළුවන් ඒ තමයි,මේ erosion හා dilation දෙක එකතු කරාම ලැබෙන operations(compound operations).
සැ.යු.compound operations දෙකකට වඩා පෙළපොත් වල සදහන් වුවද අප මෙහිදී ඉන් opening හා  closing පිලිබදව කතා කරනු ලැබේ. 
Opening
erosion ට පසුව dilation යෙදීමෙන් මෙම operation සිදු කරනු ලැබෙයි.
original binary image
after opening

Closing
dilation ට පසුව erosion යෙදීමෙන් මෙම operation සිදු කරනු ලැබේ.

original binary image
after closing
සැ.යු.threshold වැනි සංකල්ප ඉදිරි පාඩමකදී(segmentation) සාකච්ඡා කරනු ලැබේ.
තවත් ලිපියකින් යලිත් හමුවෙමු.

Sunday, August 3, 2014

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

අපි අද පාඩමෙන් Spatial domain filtering පිලිබදව සාකච්ඡා කරමු.මේ මාතෘකාව අයිති වෙන්නේ අපි මුලින් කතා කරපු චක්‍රයේ image restoration කියන කොටසට.මේකෙන් අදහස් වෙන්නේ විනාශ වුනු(corrupted),ඒවගේම නොයිසි(noisy)  ඉමේජ් එකකින් ආසන්න ඔරිජිනල් ඉමේජ් එක ලබා ගැනීමයි.මේ සදහා තමයි විවිද ෆිල්ටර්ස් භාවිතා කරන්නේ.ෆිල්ටර් එකක් යනු මාස්ක්(කුඩා ඍජුකොනාශ්‍රයක් හෝ සමචතුරශ්‍රයක් ) හා ෆන්ක්ෂන් එකක එකතුවක් ලෙසට දක්වන්න පුළුවන්.
Filtersප්‍රධාන කොටස් දෙකකට බෙදා දැක්විය හැකිය.
එනම් linear හා non linear filters යනුවෙනි.

Linear Filters
ලිනියර් ෆිල්ටර්ස් කියන කොට මතක් වෙ න්න ඕන, මැත වල අපි ඉගෙන ගන්න ලිනියර් ෆන්ක්ෂන්ස්.ඒ  කියන්නෙ input values ටිකකට එකවරම ෆන්ක්ෂන් එක යෙදුවමත් වෙන වෙනම එක එක ඉන්පුට් values වලට ෆන්ක්ෂන් එක දාල එකතු කරාමත් එන්නේ එකම අගයක්.linear functions වලට උදාහරණ ලෙස,

  • smoothing filters
  • edge enhancing filters දැක්විය හැකියි.

Non-linear Filters
non-linear filters වලටම භාවිතා කරන තවත් වචනයක් තමයි order statistics filters කියන නම.මෙතනදී වෙන්නේ neighborhood pixel කිසියම් order එකකට සකස් කරලා center එකේ පික්සල් වැලියු එක ඩිසයිඩ් කරනවා.මෙවෙනි ෆිල්ටර්ස් කිහිපයක් ලෙස,

  • median,
  • min
  • max filters දක්වන්න පුළුවන්.

දැන් අපි මෙම filters පිලිබදව කෙටියෙන් විස්තර කතා කරමු.
Smoothing/Averaging filters
mean එකෙන් සිදුවෙන දෙ දැක්වෙන චායරුපයක්
වචනයෙන් හැගෙන පරිදිම සැම පික්සල් එකක් සදහාම අවට පික්සල් වල සාමාන්‍ය ග්‍රේ ලෙවෙල්(grey level) වැලියු(value) එක ලබා දෙයි.මෙවෙනි ෆිල්ටර්ස් blurring,noise reduction,object extraction කිරීමට පෙර ඉමේජයේ ඇති කුඩා විස්ටර ඉවත් කිරීමට ,lines curves අතර ඇති ගැප්ස් ෆිල් කිරීමට යොදාගනී.මෙහි ඇති side effect එකක් නම් යොදන සැම අවස්ථාවකදීම එජ්ස් බ්ලර් වීමයි.


Median filters
සලකනු ලබන පික්සල් එකක් අවට ඇති පික්සල් වල මධ්‍යස්ථය ගණනය කර එම පික්සල්හි නව අගය ලෙස ලබාදීම මෙහිදී සිදුකෙරෙයි.


Sharpening filters
sharpening filters යෙදීම මගින් ඉමේජ් ඩිටේල්ස් හයිලයිට් වීමක් සිදුවෙයි.තවද බ්ලර් වී ඇති ඉමේජයකින් එය ඉවත් කිරීමට sharpening filters යොදාගත හැකිය.ශාප්නින්ග් යෙදීමට spatial differentiation භාවිතා කරනු ලැබේ.differentiation මගින් කෙරෙනුයේ අප දන්නා පරිදිම වෙනස් වන ශීග්‍රතාව ගණනය කිරීමයි.මෙහිදී පළමු ව්‍යුත්පන්නය හා දෙවන ව්‍යුත්පන්නය යන දෙකම ඉමේජයක් සදහා යොදා ගන්න පුළුවන්.


නමුත් වඩාත් උසස් ගනයේ ප්‍රතිපලයක් ලබාගැනීමට දෙවන ව්‍යුත්පන්නය භාවිතා කරන්න පුළුවන්.
පහත දැක්වෙන්නේ ඉහත ව්‍යුත්පන්න භාවිතයෙන් සකසා ගත් බහුලව භාවිතා වන ලප්ලාසියන් ෆිල්ටර් 
එකයි.
වඩා හොද ඉමේජයක් ලබා ගැනීමට ලප්ලාසියන් පමණක් යෙදීම ප්‍රමානවත් නොවේ.sharpen image එකක් ලබා ගැනීමට original image එකෙන් ලප්ලාසියන් ඉමේජ් එක අඩු කිරීම සිදුකල හැක.



තවත් ලිපියකින් යලිත් හමුවෙමු.

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

Sunday, May 18, 2014

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

මීලගට අපි dip වල ඇප්ලිකේෂන්ස්(applications) ටිකක් කතාකරමු.ඕනෑම විෂයක යෙදවුම් ගැන ඉගෙනගත්තම ඒ දේ ඉගෙන ගන්න ආසාවක් ඇතිවෙනවා.ඒක එහෙම නේද?

  • කර්මාන්ත පරික්ෂා(industrial inspection) කටයුතු-විවිද කර්මාන්ත වලදී විවිද ආකාරයට යොදා ගන්නවා.
  • සුප්‍රකට BMW වාහන නිෂ්පාදන ආයතනය නවීන ඩිජිටල් කැමරා විශාල ප්‍රමාණයකින් යුතු පද්ධති තම නිෂ්පාදිත වල අඩුපාඩු සොයාබැලීමට බාවිතා කරයි.




  • මැදපෙරදිග රටවල රට ඉදි වල තත්වය පරික්ෂා කිරීමට ලබා ගන්න චායරුප සකස් කිරීම සිදුකරනු ලබයි.



  • Traffic Applications-වාහන,මගීන් හදුනාගැනීම,accident detection,traffic surveillance,section speed measurement වැනි කටයුතු වලදී මාර්ගවල සවිකර ඇති කැමරා තුලින් ලබා ගන්න චායාරුප සැකසීම යොදාගනියි.


  • Medical Applications-digital x-ray,pet/ct,mri scanning,ultra sound වැනි medical imaging ක්‍රම මගන් ලබා ගන්න නිරෝගී හා රෝගී පුද්ගලයන්ගේ චායාරුප සැකසීමෙන් වෛද්‍යවරුන් බොහෝ රෝග නිශ්චයන්(diagnosis) සිදුකරයි.

  • Digital Art-මෙය නම් අප බොහෝ විට දැක තිබෙන දෙයක්,සත්‍ය ලෙසම(realistic) සකස් කර තිබෙන මායාකාරී චිත්රපටි ඔබත් නරබා ඇති.එසේම drawings and paintings වලදීද සම්ප්‍රදායික බවින්මිදී නවමු දිසි(illustrations,animations,graphics) නිර්මාණයන් කරන්නට මෙම  image processing යොදා ගනු ලබනවා.මාධ්‍ය තුල වගේම පරිගණක ක්‍රීඩා ක්ෂේත්‍රය තුලද තාත්වික රූ අප ඉදිරියේ මැවීමට මෙය සමත්වේ.


Friday, April 18, 2014

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

සංඛ්‍යාංක ප්‍රතිබිම්බ සැකසුම හා පරිගණක ආශ්‍රිත චිත්‍රක(Digital Image Processing and Computer Graphics)

පරිගණක විද්‍යා ක්ෂේත්‍රයේ ප්‍රධාන මාතෘකාවක් තමයි මේක.ප්‍රායෝගිකවත් බොහොමයක්  යෙදවුම්(applications) දකින්න පුළුවන්.මේ නිසා ඉන්ජිනේරු හා පරිගණක විද්‍යා ක්ෂේත්‍රය තුල බොහෝ research areas තුත් මෙයින් විවර වෙලා තියෙනවා. අද මගේ බලාපොරොත්තුව මේකේ වටපිටාව(introduction) මොන වගේද කියල මන් දන්නා තරමින් ටිකක් කියල දෙන්න.ක්ෂේත්‍රයේ පුළුල් බව නිසා මම නොදන්නා කරුනුත් ගොඩක් තියෙන්න පුළුවන්.ප්‍රතිබිම්බ සැකසීම(image processing) වචනයෙන් අදහස් වන පරිදිම input එක ලෙස ගනු ලබන photo එකක් හෝ video frame එකක අපට අවශ්‍ය තොරතුරු පමණක් දැක්වෙන පරිදී එහි කරනු ලබන සංස්කරණයයි.මේක එක්තරා ආකාරයක signal processing ක්‍රමවේදයක් ලෙසම සලකන්න පුළුවන්.ප්‍රතිබිම්බයක් සකසන්න ක්‍රම තුනක් මුලිකවම තියෙනවා.ඒ තමයි,


  1. ප්‍රකාශ(Optical)-ලෙන්සස්,එන්ලාජස් බාවිතා කරමින් යාන්ත්‍රිකව සිදුකරනු ලබන සැකසුම්.නෙගටිව් ලෙස ඉමේජ් ස්ටෝර් කරනු ලැබේ.බ්‍රයිට්නස්,කන්ට්‍රාස්ට්,එන්ලාජ්මන්ට්,ක්රොපින්ග්,බර්නින්ග් වැනි සැකසීම් මෙයින් සිදු කරන්න පුළුවන්.
  2. ඇනලොග්-ඉලෙක්ට්‍රොනිකව සිදු කරනු ලබන සැකසීම් මෙයින් අදහස් වේ.බ්‍රයිට්නස්,කන්ට්‍රාස්ට් වැනි සැකසීම් මෙයින් සිදු කරන්න පුළුවන්.
  3. සංඛ්‍යාංක-අපේ මාතෘකාව ෆෝකස් වෙලා තියෙන්නේ මෙතෙන්ට,පරිගණක තාක්ෂනය යොදා ගෙන කරන මැනිපියුලේෂන්(manipulation).ඉහත සදහන් මුලික සකස් කිරීම් වලට අමතරව එජ් එන්හාන්ස්මන්ට්(edge enhancement) ,එරෝෂන්(erosion),ඩයලේෂන්(dilation) වැනි තවත් බොහෝ සැකසුම් මෙහි තව තවත් දියුණු වෙමින් පවතී. 

සැ.යු. 
ඉහත බාවිතා කර ඇති වචන සමහරවිට ඔබට නුහුරු වන්නට ඇති.ඒවා පිළිබද වැඩි විස්තර ඉදිරි පාඩම් වලදී විස්තර කෙරනවා.මෙහි ඉංග්‍රීසි වචන එලෙසින්ම බාවිතා කොට ඇත්තේ ඒවා සිංහලට නගා ව්‍යවහාර කිරීමට වඩා එලෙසින් යොදා ගැනීම බාවිතයට පහසුවක් වන බැවිනි.තවද මෙහි අප සාකච්චා කරනු ලබන්නේ නිශ්චල ප්‍රතිබිම්බ සැකසීම පිලිබදවයි.සල රූ(motion pictures) සැකසීම වඩා සංකීර්ණ ,මෙහිම දිගුවක් ලෙසින් සැලකිය හැකිය.
.
Purposes of Image Processing
ip වලින් වන බලාපොරොත්තු පහත පරිදී ප්‍රධාන කොටස් පහකට බෙදා දැක්විය හැකිය.

  1. visualization-නොපෙනෙන වස්තූන් නිරීක්ෂණය කිරීම.
  2. image sharpening and restoration-හොද ප්‍රතිම්බයක් ලබා ගැනීම.
  3. image retrieval-බලාපොරොත්තු වන ප්‍රතිබිම්බය ලබා ගැනීම.
  4. measurement and pattern-ප්‍රතිබිම්බයේ විවිද වස්තුවල මිනුම් ගැනීම.
  5. image recognition-ප්‍රතිබිම්බයේ ඇති වස්තු වෙන්කර හදුනා ගැනීම.
තවත් ලිපියකින්  යලි හමුවෙමු.