Search This Blog

Wednesday, December 19, 2012

Current Driver for Laser Diode

Laser Diode ကို မောင်းဖို့ current driver ဆားကစ် တစ်ခုကို လုပ်ကြည့်ထား ပါတယ်။ ပုံမှန်အားဖြင့် အောက်က ပုံမှာ ပြထားတဲ့ အတိုင်း CE with RE ပုံစံ ကို LED အတွက် current source အနေနဲ့ သုံးရတာကို ကြိုက်ပါတယ်။ ဒီဆားကစ်မှာ Laser Components ကထုတ်တဲ့ laser diode ADL-65055TL ကိုသုံးထားပါတယ်။ သူ့ရဲ့ ပုံမှန် အလုပ်လုပ် တဲ့ operating current က 25mA၊ အမြင့်ဆုံး maximum current က 35mA နဲ့ ပုံမှန် အလုပ်လုပ်တဲ့ operating voltage က 2.2V ပါ။
12V ပါဝါ ဆပ်ပလိုင်း အတွက် ထရန်စစ်စတာရဲ့ VCE(saturation) ကို သုညလို့ အနီးစပ်ဆုံး ယူဆပြီး RE ရဲ့ တန်ဖိုးကို အောက်က အတိုင်း တွက်လို့ရပါတယ်။ $$R_E=\frac{Vcc-V_L}{I_{max}}=\frac{12-2.2}{35m}=280 \Omega $$ အဲဒီ CE configuration အတွက် ချဲ့ဆ အများကြီး မလိုတာနဲ့ bypass capacitor ကို မသုံးခဲ့ ပါဘူး။ ဒီ class A amplifier ရဲ့ အထွက် လျှပ်စီးcurrent ကို 23mA နဲ့ 29 mA ကြားမှာ ပြောင်းနေစေချင် တာနဲ့ ထရန်စစ်စတာ ၂ ရဲ့ ပုံမှန် quiescent emitter current ကို IE2=26mA (operating current ပတ်ဝန်းကျင်လောက်မှာ) လို့ သတ်မှတ်လိုက်ပါတယ်။ အဲဒါဆိုရင် emitter voltage က VE2=RE x Iop= 280 x 26m = 7.28V လို့ ရပါတယ်။ input impedance မြင့်ဖို့အတွက် CC amplifier ကိုရှေ့ကနေ တဆင့် ထပ်ခံလိုက်တဲ့ အခါ အောက်မှာ ပြထားတဲ့ ပုံအတိုင်း ဖြစ်သွားပါတယ်။
base-emitter junction voltage, VBE ကို 0.7V လို့ ယူလိုက်ရင် ထရန်စစ်စတာ ၁ ရဲ့ ပုံမှန် တည်ငြိမ် base voltage က VB1= 7.28+0.7+0.7=8.68V ဖြစ်သွားပါတယ်။ သေးငယ်လွန်းတဲ့ ဘေ့စ် လျှပ်စီးကို ထည့်မစဉ်းစား ပဲ R1 နဲ့ R2 ကို တွက်လိုက်ရင် $$ V_{B1}=Vcc \times \frac{R_2}{R_1+ R_2}$$ $$ \frac{R_1}{R_2}+ 1=\frac{12}{8.68V}$$ R2=2.6 R1 လို့ ထွက်လာပါတယ်။ R1 တန်ဖိုးကို 22k လို့ ကြုံရာ ယူလိုက်မယ်ဆိုရင် R2 က 57k လို့ရပါတယ်။ အဝင် ac input voltage ကတော့ (29-23)m x 280= 1.68V peak to peak လောက်ပေးရမှာ ဖြစ်ပါတယ်။ lab ထဲမှာ ရှိတဲ့ ဟာလေးတွေနဲ့ လုပ်ကြည့်ပြီး ရလာတဲ့ prototype လေးကို အောက်မှာ ပြထားပါတယ်။

Thursday, July 19, 2012

Myanmar (Burmese) Language with XeTeX and LuaTeX

LaTeX မှာ မြန်မာစာ ကို မှန်မှန်ကန်ကန် ပေါ်ဖို့ အတွက် ဆိုရင် ယူနီကုတ် ကို သုံးလို့ရတဲ့ ဇီးတက်ခ် (XeTeX) နဲ့ လူဝါတက်ခ် (LuaTeX) တို့ကို သုံးဖို့လိုပါတယ်။ မြန်မာစာ ပေါ်ဖို့ TeX Live တို့၊ MiKTeX တို့နဲ့ တစ်ခါတည်း ပါလာတဲ့ XeTeX နဲ့ LaTeX တွေဟာ နောက်ဆုံးပေါ် ဗားရှင်းတွေ ဖြစ်ဖို့ လိုကောင်း လိုပါလိမ့်မယ်။ အယ်ဒီတာ ဆော့ဖ်ဝဲ တွေဖြစ်တဲ့ TeXmaker တို့၊ TeXstudio တို့ မှာ TeX ဖိုင်တွေကို အလွယ်တကူ သုံးရလွယ်အောင် user command တွေ သတ်မှတ် လို့ရပါတယ်။ TeXstudio မှာ ဆိုရင် အဲဒီလို သတ်မှတ်ဖို့ အတွက် Options menu ကို သွားပြီး Configure TeXstudio... ကို နှိပ်ပါ။ နောက် Commands ကို နှိပ်ပြီး PdfLaTeX အတွက် သုံးထားတဲ့ command ကို ကော်ပီ ကူးယူပါ။
အဲဒီနောက် User menu ကိုပြန်သွားပြီး User Commands -> Edit User Commands ကို နှိပ်ပြီး အစိမ်းရောင် အပေါင်း လက္ခဏာ သင်္ကေတ ကို နှိပ်ပါ။ ပြီးရင် ခုနက ကော်ပီကူးထားတဲ့ command ကို Paste လုပ်ပြီး XeTeX ကို သုံးဖို့ pdflatex ဆိုတဲ့ နေရာမှာ xelatex နဲ့ အစားထိုးပါ။ LuaTeX ကိုသုံးဖို့ အတွက်လည်း ခုနက နည်းအတိုင်း ထပ်လုပ်ပြီး lualatex နဲ့ အစားထိုးပါ။
အောက်က နမူနာ (Z1.tex) က xelatex နဲ့ရော lualatex နဲ့ပါ အလုပ်လုပ် ပါတယ်။
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Zawgyi-One}
\begin{document}
ျမန္မာစာ
\end{document}
နောက်ထပ် lua script တွေ သုံးထားတဲ့ lualatex နမူနာ က luaZ1.tex ပါ။ LuaTeX ကို Zawgyi-One ၊ Padauk ၊ Myanmar3 ၊ Myanmar MN အစရှိတဲ့ ဖောင့်တွေနဲ့ စမ်းကြည့်တဲ့ အခါ Zawgyi-One တစ်ခုပဲ လက်ရှိ ဗားရှင်း (LuaTeX, Version beta-0.70.1-2011082320) မှာ လုပ်တာကို တွေ့ပါတယ်။
XeTeX ကတော့ Zawgyi-One နဲ့ Padauk ကို ပလက်ဖောင်း အားလုံးမှာ ပေါ်အောင် လုပ်နိုင်ပြီး၊ Myanmar MN ကိုလည်း Mac OS X မှာ ပေါ်အောင် လုပ်နိုင်ပါတယ်။ ဇော်ဂျီ အတွက် ဘာမှ ပြဿနာ မရှိပေမယ့် Unicode ဖောင့်တွေဖြစ်တဲ့ Padauk အစရှိတဲ့ ဖောင့်တွေမှာတော့ renderer ကို သတ်မှတ် ပေးဖို့လိုပါတယ်။ အောက်က နမူနာမှာတော့ Renderer=Graphite ဆိုပြီး Graphite ကို renderer အနေနဲ့ သတ်မှတ်ပေးလိုက် ပါတယ်။ Myanmar MN ဖောင့် အတွက် ဆိုရင်တော့ Renderer=AAT လို့ သုံးနိုင်ပါတယ်။ နမူနာ အနေနဲ့ အောက်မှာ ပြထားတဲ့ XeFontspec.tex ကို ကြည့်နိုင်ပါတယ်။
\fontspec[Renderer=Graphite]{Padauk} အစား renderer ကို သတ်မှတ်နိုင်တဲ့ တခြားနည်း ကတော့ \font\1="Padauk/GR" \1 ပါ။ အဲဒီမှာ /GR က Graphite font renderer အတွက် ဖြစ်ပြီး၊ /AAT က ATSUI renderer (Mac OS X အတွက်သာ) အတွက် နဲ့၊ /ICU ကို သုံးရင် ICU OpenType renderer အတွက် ဖြစ်ပါတယ်။ ဒါပေမယ့် အဲဒီလို renderer သတ်မှတ်တာ က ကျွန်တော့် Windows XP နဲ့ Ubuntu Linux မှာ ရှိတဲ့ xelatex ဗားရှင်းတွေ အတွက် အလုပ် မလုပ်ဘူး ဖြစ်နေ ပါတယ်။ ကံကောင်းချင်တော့ Calmhill ရဲ့ ဘလော့ဂ် မှာ Padauk ကို ပေါ်အောင် \fontspec[Script=Myanmar]{Padauk} ကို သုံးထားတဲ့ နည်းကို တွေ့ပါတယ်။ နမူနာက XePadauk.tex ပါ။
Myanmar MN အတွက် နမူနာက XeMyanmarMN.tex ပါ။ Myanmar3 ကိုစမ်းကြည့်တာတော့ လောလောဆယ် ပလက်ဖောင်း အားလုံးမှာ မရသေး ပါဘူး။

Updated post: မြန်မာဘာသာ အတွက် LaTeX Report ပုံစံ

Friday, June 8, 2012

LaTeX Bibliography with TeXstudio

TeXstudio (အရင်နာမည် TexMakerX ၊ http://texstudio.sourceforge.net/) က LaTeX နဲ့စာရေးဖို့အတွက် ဆော့ဖ်ဝဲ အယ်ဒီတာ တစ်ခုပါ။ ပုံမှန်အားဖြင့် တော့ ပေပါ တစ်စောင် ယူလိုက်ပြီဆို သူ့အတွက် citation ကိုလဲ အဲဒီမှာပဲ BibTeX style နဲ့ အလွယ်တစ်ကူ ယူလို့ရပါတယ်။ ပြီးရင် အဲဒီရလာတဲ့ BibTeX entry ကို BibTeX database ဖိုင်တစ်ခု ဖန်တီးပြီး သိမ်းထားလို့ရပါတယ်။ BibTeX database ဖိုင်ရဲ့ extension က .bib ပါ။ TeXstudio မှာ ကိုယ့်ဟာကို BibTeX entry တစ်ခုဖန်တီးမယ် ဆိုရင်လဲ လွယ်ပါတယ်။ ဥပမာ Ref1.bib ဆိုပြီး BibTeX database ဖိုင်တစ်ခုကို ဖန်တီးပြီး menu က bibliography ကို ကလစ်နှိပ်ပါ။ နောက် ကိုယ့် ပေပါရဲ့ အမျိုးအစားကို နှိပ်လိုက်ရင် required fields တွေရော၊ optional fields တွေရော အကုန်ထည့်ပေးသွားမှာပါ။ အကယ်၍ optional fields တွေကို ဖယ်ချင်ရင်တော့ clean command ကိုနှိပ်ပြီး ရှင်းလို့ရပါတယ်။ အဲဒီထက်ပို လွယ်တာက တော့ BibTeX insert dialog ... ကို နှိပ်ပြီး ထည့််တာပါ။



New BibTeX entry ဆိုတဲ့ dialog လေးပေါ်လာရင် ကိုယ်လိုတာကို ရွေးထည့်ပြီး OK နှိပ်လိုက်ရုံပါပဲ။ စာရေးသူတွေ ရဲ့ နာမည် ကို ဖြည့်တဲ့ အခါ နာမည် တွေကြားမှာ and ဆိုတဲ့ စာလုံးနဲ့ ခြားပေးရပါမယ်။ အဲဒီ database ဖိုင်ကို ဖန်တီးပြီးရင် သူ့ကို ယူသုံးမယ့် TeX ဖိုင် တစ်ခုကို ဖန်တီးပါမယ်။ ဥပမာ TestBibTex.tex ဆိုပါတော့။ အဲဒီမှာ Ref1.bib ကို \bibliography{Ref1} ဆိုပြီး အောက်ကပုံအတိုင်း သုံးလို့ရပါတယ်။ ဒီနမူနာမှာတော့ အသုံးများတဲ့ ieeetr ဆိုတဲ့ စတိုင်ကို သုံးထားတဲ့ အတွက် အကိုးအကားတွေဟာ သူတို့ကို ကိုးကားထားတဲ့ အစဉ်အတိုင်း နံပါတ်တပ်၊ အစဉ်အတိုင်း ပေါ်လာမှာပါ။





ပုံမှန်အားဖြင့်တော့ မှန်ကန်တဲ့ output ဖိုင်တစ်ဖိုင် ထွက်လာအောင် LaTeX ကို အကြိမ်ကြိမ် run ပေးရပါတယ်။ (LaTeX ကို run ဖို့ MiKTeX ဒါမှမဟုတ် TeX Live ဆော့ဖ်ဝဲ တစ်ခုခုကို ကွန်ပျူတာထဲမှာ ထည့်ပြီးသား ရှိရပါမယ်။) ဥပမာ pdflatex ကိုသုံးပြီး run မယ်ဆိုရင်
အဆင့် ၁။ pdflatex
အဆင့် ၂။ bibtex
အဆင့် ၃။ pdflatex
အဆင့် ၄။ pdflatex
ဆိုပြီး လေးခါ run မှ ရပါတယ်။ TeXstudio မှာတော့ အဆင်ပြေတာ တစ်ခုက Quick Build လုပ်ဖို့ 'F1' တစ်ခါနှိပ် လိုက်ရုံနဲ့ နောက်ဆုံး မှန်ကန်တဲ့ output ဖိုင် ထွက်လာတဲ့ အထိ သူ့ဟာသူ လုပ်သွားတာပါ။ အကယ်၍ စာရေးသူ-ခုနှစ် ဆိုတဲ့ ပုံစံ အကိုးအကား ကို လိုချင်ရင်တော့ \usepackage{natbib} ကို အောက်မှာ ပြထားတဲ့ အတိုင်း အလွယ်တစ်ကူ သုံးနိုင်ပါတယ်။



နမူနာ ပြထားတဲ့ ဖိုင်တွေကို အောက်က လင့်ခ် တွေမှာ ဒေါင်းလုပ် လုပ်ယူနိုင်ပါတယ်။
TestBibTex.tex
TestNatbib.tex
Ref1.bib
အကိုးအကား တွေကို စီမံဖို့ တော့ ဆော့ဖ်ဝဲသုံးတာ ပိုအဆင်ပြေပြီး JabRef Reference Manager ကို သဘောကျပါတယ်။
အကိုးအကား။ http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management

Wednesday, March 7, 2012

Skeleton of Image Region

ပုံရိပ် တစ်ခုရဲ့ တည်ဆောက်ပုံ ပုံသဏ္ဌာန် ကို မျဉ်းကြောင်းများနဲ့ တုတ်ချောင်းပုံ လုပ်ပြီး ကိုယ်စားပြု ဖော်ပြနိုင်ပါတယ်။ အဲဒီလို ဖော်ပြဖို့အတွက် ပုံသဏ္ဌာန် တစ်ခုကို တဖြည်းဖြည်း ပိန်ပါးသွားအောင် လုပ်နည်း တစ်ခုခု ကို သုံးလို့ရပါတယ်။ ရလာတဲ့ မျဉ်းကြောင်းများနဲ့ တုတ်ချောင်းပုံ ကို အဲဒီ ပုံရဲ့ အရိုး (skeleton) လို့ ခေါ်ပါမယ်။ ဒီနည်းဟာ စာလုံးများကို စက်က သိရှိနားလည် မှတ်မိ အောင် လုပ်တဲ့ နေရာ (optical character recognition) တွေမှာ ပဏာမ အဆင့် အနေနဲ့ အသုံးကျကောင်း ကျနိုင်ပါတယ်။ အောက်ကပုံတွေမှာ နမူနာ မူရင်းပုံနဲ့ သူ့ရဲ့ အရိုးကို ဖော်ပြထားပါတယ်.
ပုံရိပ်တစ်ခု ရဲ့ အရိုးကို နည်းအမျိုးမျိုးနဲ့ ရယူနိုင်ပြီး အဲဒီ နည်းတွေထဲက လူသိများတဲ့ နည်းနှစ်နည်းက အလယ်ဝင်ရိုးပြောင်းနည်း Medial Axis Transformation (MAT) နဲ့ နှစ်ဆင့်ပါးနည်း Two Step Thinning တို့ပါ။ MAT မှာ ပုံသဏ္ဌာန် ထဲမှာ ရှိတဲ့ အစက် တစ်စက် ချင်းစီ အတွက် သူတို့ ရဲ့ အနီးဆုံး အနားသတ် ကို လိုက်ရှာပါတယ်။ အဲဒီလို အကွာအဝေးတူ အနီးဆုံး အနားသတ် တစ်ခုမက ရှိတဲ့ အစက်ကို အရိုး လို့သတ်မှတ်ပါတယ်။ MAT ကနားလည်ဖို့ လွယ်ပေမယ့် သူ့ကိုရဖို့ တွက်ချက်မှုတွေ အများကြီး လိုပါတယ်။ သူ့ကို တွက်ဖို့ အကွာအဝေးပုံစံ ပြောင်းခြင်း (distance transform) ကို အရင် လုပ်ပါတယ်။ အကွာအဝေးပုံစံ ပြောင်းတယ်ဆိုတာ ပုံသဏ္ဌာန် ထဲမှာ ရှိတဲ့ အစက် တစ်စက် ချင်းစီ ကို အနီးဆုံး အနားသတ်အထိ အကွာအဝေးနဲ့ အစားထိုးတာပါ။ ရလာတဲ့ ပုံမှာ အနားသတ်နဲ့ နီးတဲ့ အစက်က အကွာအဝေး တန်ဖိုးနည်းတော့ အလင်းအားပျော့ ပြီး၊ အနားသတ်နဲ့ ဝေးတဲ့ အစက်က အကွာအဝေးတန်ဖိုးကြီးတော့ ပိုလင်းပါမယ်။ နောက် အစက်တစ်စက် ခြင်းစီကို ဘေးတိုက် ဒါမှမဟုတ် ဒေါင်လိုက် ကပ်ရပ် အစက်တွေနဲ့ ယှဉ်ကြည့်ပြီး အလယ်မှာ အမြင့်ဆုံး ဖြစ်နေတဲ့ အစက်တွေကို အရိုးလို့ သတ်မှတ်ပါမယ်။ နမူနာ MATLAB ကုဒ် ကို ဒီမှာ (MATeg.m) ကြည့်နိုင်ပါတယ်။ မူရင်း ပုံသဏ္ဌာန်ရယ်၊ အကွာအဝေးပုံစံ ရယ်၊ ရလာတဲ့ အရိုးရယ် ကို အောက်က ပုံတွေမှာ ကြည့်နိုင်ပါတယ်။


နှစ်ဆင့်ပါးနည်း ကတော့ MAT နဲ့ယှဉ်ရင် ပိုမြန်၊ ပိုထိရောက်ပါတယ်။ နှစ်ဆင့်ပါးနည်း က ပုံသဏ္ဌာန် တစ်ခုရဲ့ အနားတွေကို ထပ်တလဲလဲ ဖျက်သွားတာပါ။ အဲဒီလို ဖျက်တဲ့ အခါမှာ အဆုံးမှတ်တွေကို မဖျက်ပါဘူး။ တနေရာနဲ့ တနေရာ ဆက်စပ်နေတဲ့ အမှတ်တွေကို မဖျက်ပါဘူး။ ပုံသဏ္ဌာန် ထဲမှာ ရှိတဲ့ အစက် တွေကို တန်ဖိုး တစ်ရှိတယ်လို့ မှတ်ယူ မှာ ဖြစ်ပြီး နောက်ခံ အစက်တွေကို တော့ တန်ဖိုး သုည ရှိတယ် လို့ မှတ်ယူပါမယ်။ ဒီနည်းမှာ အဆင့် နှစ်ဆင့် ကို ပုံပေါ်မှာ အထပ်ထပ် အဖန်ဖန် နောက်ဆုံး မပြောင်းလဲတဲ့ အရိုး ရတဲ့အထိ သုံးသွားမှာပါ။
အပေါ်ပုံမှာ အလယ် အစက်ရဲ့ ကပ်ရပ် အစက်တွေကို အခေါ်အဝေါ်သတ်မှတ်ပုံကို ပြထားပါတယ်။ ပထမ အဆင့်မှာ အစက် p1 ကို အောက်က အချက်လေးချက်နဲ့ ကိုက်ညီရင် ဖျက်ပစ် ပါမယ်။ (a) 2 ≤ N(p1) ≤ 6 (b) T(p1) = 1 (c) p2.p4.p6 = 0 (d) p4.p6.p8 = 0 အဲဒီမှာ N(p1) ဆိုတာက p1 နဲ့ ကပ်ရပ် အစက်တွေထဲက သုညမဟုတ်တဲ့ အစက် အရေအတွက်ဖြစ်ပြီး၊ T(p1) ဆိုတာက p2, p3, ... , p8, p9, p2 ဆိုတဲ့ အစီအစဉ်အတိုင်း ကြည့်သွားရင် ၀ ကနေ ၁ ကို ပြောင်းသွားတဲ့ အရေ အတွက်ပါ။ ဒုတိယ အဆင့်မှာ (a) နဲ့ (b) ကအတူတူပါပဲ။ ဒါပေမယ့် (c) နဲ့ (d) ကတော့ အောက်မှာ ပြထားတဲ့ အတိုင်း ပြောင်းသွားပါတယ်။ (c') p2.p4.p8= 0 (d') p2.p6.p8= 0 ပထမ အဆင့် ကို ပုံသဏ္ဌာန်တစ်ခုရဲ့ အနားသတ်ပေါ်မှာရှိတဲ့ အစက်တိုင်းအတွက် စဉ်းစားပါမယ်။ အချက် (a) ကနေ (d) ထဲက တစ်ချက်ချက် မကိုက်တာနဲ့ အဲဒီ အစက်ကို မဖျက်တော့ ပါဘူး။ အချက်အားလုံး ကိုက်ညီရင် တော့ ဖျက်ဖို့ အတွက် မှတ်ထားလိုက် ပါမယ်။ ဒါပေမယ့် အဲဒီ အစက် ကို အနားသတ် ပေါ်မှာရှိတဲ့ အစက် အားလုံးကို စဉ်းစားလို့ မပြီးမချင်း တကယ် မဖျက်သေးပါဘူး။ အဲဒီလို နောက်ကျမှ ဖျက်တဲ့ အတွက် တစ်ခြား အစက် တွေကို စဉ်းစား နေတဲ့ အချိန်မှာ ပုံသဏ္ဌာန် ပြောင်းသွားတာကို ကာကွယ်နိုင်ပါတယ်။ ပထမ အဆင့် ကို အနားသတ်ပေါ်မှာရှိတဲ့ အစက် အားလုံးကို စဉ်းစာပြီးပြီဆိုတာနဲ့ ဖျက်ဖို့မှတ်ထားတဲ့ အစက် အားလုံးကို ဖျက်လိုက်ပါမယ်။ (အစက်ရဲ့ တန်ဖိုးကို သုည ပြောင်းလိုက်တာပါ။) ရလာတဲ့ ရလဒ် ပေါ်မှာ ဒုတိယ အဆင့် ကိုလဲ ပထမအဆင့် အတိုင်း ထပ်သုံးပါမယ်။ ဒီ အဆင့်နှစ်ဆင့်ကို အကြိမ်ကြိမ် အဖန်ဖန် ပြန်သုံးမှာ ဖြစ်ပြီး အကြိမ်တစ်ကြိမ်တိုင်းမှာ အောက်က လုပ်ငန်းလေးခုကို လုပ်ပါတယ်။ (၁) ပထမ အဆင့်ကို သုံးပြီး ဖျက်ရမယ့် အစက်တွေကို မှတ်ပါတယ်။ (၂) မှတ်ထားတဲ့ အစက်တွေကို ဖျက်ပါတယ်။ (၃) ဒုတိယ အဆင့်ကို သုံးပြီး ဖျက်ရမယ့် အစက်တွေကို မှတ်ပါတယ်။ (၄) မှတ်ထားတဲ့ အစက်တွေကို ဖျက်ပါတယ်။ ဒီအဆင့်တွေကို သုံးပြီး ပါးပါးသွားရင်း နောက်ဆုံး ဖျက်စရာ အစက် မကျန်တော့ဘူးဆိုရင် ရပ်လိုက်ပါမယ်။ ရလာတဲ့ ပုံက အရိုးဖြစ်ပါတယ်။ အချက် (c) p2.p4.p6 = 0 နဲ့ (d) p4.p6.p8 = 0 ကို တစ်ခါထဲ ပေါင်းပြီး (p4 = 0 or p6= 0) or (p2=0 and p8=0) လို့ တန်းစစ်လို့လဲရပါတယ်။ အဲဒီလိုပဲ (c') နဲ့ (d') ကိုလဲ (p2=0 or p8=0) or (p4=0 and p6=0) လို့ ပေါင်းစစ်လို့ ရပါတယ်။ Two Step Thinning အတွက်နမူနာ MATLAB ကုဒ်ကို ဒီမှာ (TSTeg.m) တွေ့နိုင်ပါတယ်။
ရှေ့မှာ ဖော်ပြခဲ့တဲ့ ကုဒ်တွေက နည်းတွေကိုနားလည်ဖို့ ရယ်၊ တစ်ခြား ပရိုဂရမ် ဘာသာတွေနဲ့ ပြန်ရေးဖို့ရယ် အတွက်တော့ အထောက် အကူ ဖြစ်မယ်ထင်ပါတယ်။ တကယ်တော့ MATLAB မှာ bwmorph ဆိုတဲ့ ဖန်ရှင်ကို သုံးလိုက်တာနဲ့ အရိုးကို တန်းရနိုင်ပါတယ်။ sk=bwmorph(bwImg,'skel',Inf); အဲဒီလိုခိုင်းလိုက်ရင် ထွက်လာတဲ့ ရလဒ် ကို အောက်မှာ ပြထားပါတယ်။
Reference: Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins, "Digital Image Processing Using MATLAB", Second Edition, Mc Graw Hill (Asia), 2011.