Search This Blog

Showing posts with label Visual Studio. Show all posts
Showing posts with label Visual Studio. Show all posts

Thursday, November 23, 2017

OpenCV with wxWidgets

  1. နိဒါန်း
  2. Linux
  3. Windows
  4. အကိုးအကားများ

နိဒါန်း

OpenCV ကို wxWidgets နဲ့ တွဲသုံး တဲ့ အကြောင်း ဆွေးနွေး ချင် ပါတယ်။ အဲဒီ အတွက် OpenCV နဲ့ wxWidgets တို့ကို တပ်ဆင် ထားဖို့ လိုပါ တယ်။ သူတို့ ကို platform အမျိုးမျိုး အတွက် တပ်ဆင်တဲ့ အကြောင်း တွေကို အောက်က လင့်ခ် တွေမှာ ဖတ်နိုင် ပါတယ်။

Linux

Linux နဲ့ terminal ပေါ်မှာ command ရိုက်ထည့် ပြီး build လုပ်တာ လွယ်ကူ ရိုးရှင်း ပါတယ်။ နမူနာ အနေနဲ့ wxcvsimple.cpp (online) ဆိုတဲ့ ရိုးရှင်း တဲ့ ပရိုဂရမ် လေး တစ်ခု ရေးကြည့် ပါမယ်။ ပရိုဂရမ် အစမှာ Application ရဲ့ OnInit() ဆိုတဲ့ method ထဲမှာ
wxInitAllImageHandlers();
ဆိုတာကို ထည့်ပါမယ်။ အဲဒီနောက် MyFrame ဆိုတဲ့ wxFrame ရဲ့ derived class ထဲမှာ ပုံရိပ် တွေကို ဖော်ပြဖို့ wxStaticBitmap variable တွေကို ကြေငြာ လိုက် ပါမယ်။ MyFrame ရဲ့ constructor မှာ wxStaticBitmap တွေကို ဖန်တီးဖို့ အောက်က ကုဒ် ကို သုံးနိုင် ပါတယ်။

Friday, October 27, 2017

Cross-platform C++ programming with wxWidgets

  1. နိဒါန်း
  2. Windows တွင်တပ်ဆင်ခြင်း
  3. Linux တွင်တပ်ဆင်ခြင်း
  4. Mac တွင်တပ်ဆင်ခြင်း
  5. အကိုးအကားများ

နိဒါန်း

wxWidgets က Windows ၊ Linux နဲ့ Mac OSX အစ​ ရှိ​တဲ့ ပ​လက်​ဖောင်း အမျိုး​မျိုး ပေါ်​မှာ GUI applications တွေ ရေး​ဖို့ အတွက် C++ library ပါ။ သူ​နဲ့ GUI code တွေ ရေး​ပြီး​ ရင် ပ​လက်​ဖောင်း အမျိုး​မျိုး ပေါ်​မှာ ကုဒ် ကို သိပ်​ပြင်​ စရာ မ​လို​ပဲ တန်း​ပြီး compile လုပ်၊ run လုပ်​လို့​ ရ​ပါ​တယ်။

wxWidgets ​က free လည်း​ပေး open source လည်း ​ဖြစ် တဲ့ software ပါ။ ကိုယ်​ပိုင် ဆော့​ဝဲ တွေ​ ထုတ်​မယ်​ ဆို​ရင် လည်း ဘာ​မှ ကန့်​သတ်​ချက်​ တွေ မ​ရှိ​ ပါ​ဘူး [wxW98]။ အဲဒါက Qt နဲ့ အဓိက ကွာခြားချက် ပါ။ Qt က LGPLv3 လိုင်စင် ကို free ပေးထားပြီး၊ ကိုယ်ပိုင် စီးပွားရေး အတွက် သုံးမယ် ဆိုရင် ကန့်သတ်ချက် တချို့ ရှိတာကြောင့် လိုင်စင် ဝယ်ဖို့ လိုကောင်း လိုနိုင် ပါတယ် [Qt17]။

Native platform ကို တတ်နိုင် သလောက် သုံးထား တာမို့ wxWidgets သုံးလို့ ရလာတဲ့ GUI တွေဟာ သုံးတဲ့ platform နဲ့ လိုက်ဖက်ပြီး ပင်ကို အမြင် အတိုင်း တသားထဲ ကျ တာကို ခံစား ရမှာပါ [wxW12]။ Standard C++ ကိုပဲ သုံးထားပြီး Qt တို့လို အထူး extension တွေ မသုံးထား တဲ့ အတွက် ရှုပ်ထွေးမှု နည်းတာ ကလည်း ကောင်းတဲ့ အချက် တစ်ခုပါ။

wxWidgets နဲ့ ရလာတဲ့ binary application တွေဟာ သေးငယ် ပေါ့ပါး တာမို့ embedded system တွေအတွက် အထူး သင့်တော် ပါတယ်။ နောက်တစ်ခါ library အရွယ်အစား တွေ ယှဉ်ရင်လည်း ဥပမာ အနေနဲ့ Qt library ကို တပ်ဆင်ရင် \(\approx 200\) MB လောက် အရွယ် ရှိပေမယ့် wxWidgets library က \(\approx 30\) MB လောက်ပဲ ယူပါတယ်။

wxWidgets က C++ အတွက် သာ မကပဲ python, perl, php, java, lua, lisp, erlang, eiffel, C# (.NET), BASIC, ruby နဲ့ javascript အတွက် တောင်မှ bindings [wxW15a] တွေ ရှိပါတယ်။ wxWidgets က တော်တော် ပြည့်စုံ ရင့်ကျက် တဲ့ GUI toolkits ဖြစ်ပြီး၊ utility classes လည်း အများကြီး ရှိတာမို့ ကောင်းမွန် သင့်တော် တဲ့ GUI toolkits အနေနဲ့ ညွှန်းဆို ချင်ပါတယ်။

wxWidgets ကို အသုံးပြုတဲ့ သူတွေ၊ အဖွဲ့အစည်းတွေ အများကြီး ရှိပြီး အဲဒီ အထဲမှာ လူသိများ တာတွေက NASA, AMD, Xerox, နဲ့ Open Source Applications Foundation (OSAF) တို့ ဖြစ်ပါတယ်။ ထင်ရှားတဲ့ wxWidgets applications တွေက AVG AntiVirus, Audacity, Filezilla, Code::Blocks, CodeLite တို့ ဖြစ်ပါတယ်။