- နိဒါန်း
- GCC ၊ CMake တို့ဖြင့် အသုံးပြုခြင်း
- Qt ဖြင့် အသုံးပြုခြင်း
- Code::Blocks ဖြင့်အသုံးပြုခြင်း
- အကိုးအကားများ
နိဒါန်း
OpenCV ကို Linux တွင် တပ်ဆင် ရန် ပထမ အဆင့် အနေနှင့် အောက်ပါ packages များ စက်ထဲ တွင် ရှိရန် လိုအပ် သည် [Ope17g]။- GCC 4.4.x or later
- CMake 2.6 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
sudo apt-get update sudo apt-get install build-essential sudo apt-get install cmake git libgtk-3-dev pkg-config sudo apt-get install libavcodec-dev libavformat-dev libswscale-devListing. OpenCV အတွက် လိုအပ်သော packages များ ရယူခြင်း။
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev sudo apt-get install libpng-dev libtiff-dev libdc1394-22-dev sudo apt install libv4l-dev libxvidcore-dev libx264-devListing. OpenCV အတွက် optional packages များ ရယူခြင်း။
OpenCV ကို Linux တွင် ရယူ တပ်ဆင် ရန် လွယ်ကူ ရိုးရှင်း သော နည်းလမ်း တစ်ခု အဖြစ် အောက်ပါ အတိုင်း terminal တွင် ရိုက်ယူ နိုင်သည်။
sudo apt-get install libopencv-dev
ထိုသို့ မဟုတ်ပဲ လက်ရှိ OpenCV အခြေကျ ဗာရှင်း ကို ရယူ တပ်ဆင်လို ပါက OpenCV for Linux/Mac (https://opencv.org/) တွင် ရယူ ရန်လိုသည်။ ထိုမှ ရလာသော zip ဖိုင်အား Archive Manager သုံး၍ extract လုပ်နိုင်သည်။
ထိုထက် မကပဲ နောက်ဆုံးထွက် cutting-edge opencv ဗားရှင်း ကို ရယူ မည် ဆိုပါက Git repository ရှိ OpenCV repository တွင် ရယူ နိုင်သည်။ OpenCV contrib repository များ ကိုပါ တပ်ဆင် မည် ဆိုပါက လည်း အောက်ပါ အတိုင်း ယူနိုင် သည်။
cd ~ git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git
ဤနေရာတွင် ရလာသည့် folder မှာ opencv ဖြစ်သဖြင့် ထို နေရာသို့ သွား၍ build ဆိုသည့် folder တစ်ခု ဖန်တီးကာ ဖိုင်များ ထုတ်၍ သိမ်းဆည်းရန် အောက်ပါ စာရင်း ရှိ command များ ရိုက်မည်။
cd ~/opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..Listing. OpenCV ကို build လုပ်ခြင်း။
Shared libs ကို unset လုပ်ချင် ပါက အောက်ပါ option ကို ထည့်နိုင် သည်။
-D BUILD_SHARED_LIBS=OFFListing. Static libs ပြုလုပ်ခြင်း။
ခေတ္တ စောင့်ဆိုင်း ပြီးသည့် အခါ အောက်ပါ စာရင်း အတိုင်း build လုပ်၍၊ install လုပ်မည်။
make sudo make installListing. OpenCV ကို install လုပ်ခြင်း။
တပ်ဆင် ပြီးသည့် OpenCV ဗားရှင်း ကို အောက်ပါ command ဖြင့် ကြည့် နိုင်သည်။
pkg-config --modversion opencvListing. OpenCV ဗားရှင်းကို စစ်ခြင်း။
GCC ၊ CMake တို့ဖြင့် အသုံးပြုခြင်း
OpenCV ကို သုံးရန် အလွယ်ဆုံး နည်းမှာ CMake ဖြင့် သုံးခြင်း ဖြစ်သည် [Ope17l]။ CMake နှင့် မရင်းနှီး ပါက CMake tutorial (https://cmake.org/cmake-tutorial/) တွင် သွား ရောက် လေ့လာ နိုင်သည်။ပထမ ခြေလှမ်း အနေ နှင့် ပုံတစ်ပုံ ကို ဖတ်၍ ပြသည့် ရိုးရှင်းသည့် နမူနာ လေးအား စမ်းသပ် ကြည့်မည်။ ထို အတွက် thiri.jpg ဆိုသည့် ဓာတ်ပုံကို home folder တွင် ထားလိုက် မည်။ ထို့နောက် အောက်ပါ DisplayImage.cpp (online) ဆိုသည့် ပရိုဂရမ် လေးအား ဖန်တီး လိုက်မည်။ ပြီးသည့် အခါ DisplayImage ဟူသည့် folder တစ်ခု ဖွဲ့၍ ထိုထဲ တွင် သိမ်းဆည်း လိုက်မည်။
#include < stdio.h > #include < opencv2/opencv.hpp > using namespace cv; int main(int argc, char** argv ) { Mat image; image = imread( "/home/yan/thiri.jpg", 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }Listing. ပုံတစ်ပုံ ကို ဖတ်၍ ပြသည့် DisplayImage.cpp ပရိုဂရမ်။
ဤနေရာ တွင် thiri.jpg အတွက် path မှာ "/home/yan/thiri.jpg" ဖြစ်ပြီး သင့်ပုံ ရှိသည့် folder ၊ username တို့နှင့် ကိုက်ညီသည့် path ကို အစားထိုး ရမည်။ imread သည် လမ်းကြောင်း ပေးလိုက်သည့် ပုံဖိုင်ကို ဖတ်သည်။ ဒုတိယ argument ဖြစ်သည့် 1 မှာ ကာလာပုံ ဖတ်မည် ဟု ဆိုလိုခြင်း ဖြစ်သည်။ 0 ဆိုပါက အဖြူ အမည်း ပြောင်း၍ ဖတ်မည်။ ပုံကို ဖတ်၍ မရ ပါက message ရိုက်ပြ၍ ထွက်သွားမည် ဖြစ်ပြီး၊ ဖတ်၍ အောင်မြင် ပါက imshow ကိုသုံး၍ ပုံကို ထုတ်ပြမည် ဖြစ်သည်။ တဖန် CMakeLists.txt ဆိုသည့် ဖိုင်ကို အောက်ပါ စာရင်း အတိုင်း ဖန်တီးမည်။
cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) add_executable( DisplayImage DisplayImage.cpp ) target_link_libraries( DisplayImage ${OpenCV_LIBS} )Listing. CMakeLists.txt
ဤတွင် လိုချင်သည့် ပရိုဂရမ် ကို အောက်ပါ command များအား terminal တွင် ရိုက်ခြင်းဖြင့် build လုပ်နိုင်၊ run ကြည့်နိုင် သည်။
cd DisplayImage cmake . make ./DisplayImageListing. DisplayImage ကို CMake ဖြင့် build လုပ်၍ run ခြင်း။
pkg-config
CMake ကို မသုံးပဲ pkg-config ဖြင့် build လုပ်၍ လည်း run နိုင်သည်။g++ DisplayImage.cpp `pkg-config --cflags --libs opencv` -o DisplayImage ./DisplayImageListing. DisplayImage ကို g++, pkg-config တို့ဖြင့် build လုပ်၍ run ခြင်း။
Run လိုက်သည့် အခါ အောက်ပါ ပုံ အတိုင်း ရရှိမည်။
Shared lib အား ရှာ မရ သည့် error ရခဲ့ လျှင် /etc/ld.so.conf.d/opencv.conf ဟူသည့် ဖိုင်အား အောက်ပါ အတိုင်း ဖန်တီး နိုင်သည်။
sudo nano /etc/ld.so.conf.d/opencv.confပြီးသည့် အခါ opencv ကို တပ်ဆင် ထားသည့် နေရာ ပေါ် မူတည် ၍
/usr/local/opencv/သို့မဟုတ်
/usr/local/lib/ကို opencv.conf တွင် ဖြည့်မည်။ ထို့နောက် အောက်ပါ command အား terminal တွင် ရိုက်ထည့် နိုင်သည်။
sudo ldconfig
Qt ဖြင့် အသုံးပြုခြင်း
အသုံး များသော IDE တစ်ခု ဖြစ်သည့် Qt နှင့် OpenCV ကို အသုံး ပြုခြင်း အကြောင်း ဆွေးနွေး မည်။ Qt ကို ရယူ၍ တပ်ဆင်ရန် အောက်ပါ စာရင်း ရှိ command များကို terminal တွင်ရိုက်နိုင်သည်။wget http://download.qt.io/official_releases/qt/5.9/5.9.0/qt-opensource-linux-x64-5.9.0.run chmod +x qt-opensource-linux-x64-5.9.0.run ./qt-opensource-linux-x64-5.9.0.runListing. Qt ကို Linux တွင် တပ်ဆင် ခြင်း။
ထို့နောက် အခြား လိုအပ်သော g++ ၊ font configuration ၊ OpenGL များ ရယူ ရန် အောက်ပါ စာရင်း အတိုင်း လုပ်ဆောင် နိုင်သည်။
sudo apt-get install build-essential sudo apt-get install libfontconfig1 sudo apt-get install mesa-common-dev sudo apt-get install libglu1-mesa-dev -yListing. Qt အတွက် အခြား လိုအပ်သော packages များရယူ ခြင်း။
တပ်ဆင် ပြီးပါက ရိုးရှင်းသော OpenCV နမူနာ တစ်ခုကို စမ်းသပ်ရန် Qt ကို ဖွင့်မည်။ New Project ကို နှိပ်၍ Non-Qt Project နှင့် Plain C++ Application ကို ပုံတွင် ပြထား သလို choose မည်။
Project Location အတွက် DisplayImageQt စသဖြင့် အမည်ပေး၊ folder ဖွဲ့၍ ရွေးချယ် မည်။ Build System တွင် qmake အတိုင်း ထားမည်။ Kit Selection တွင်လည်း Desktop Qt 5.9.0 GCC 64bit အတိုင်း ထားနိုင် သည်။ Next ထပ်နှိပ် ၍ Project Management တွင် None အတိုင်း ထားမည်။ ထို့နောက် Project အောက်မှ Sources ရှိ main.cpp (online) တွင် အောက်ပါ စာရင်း ရှိ ပရိုဂရမ် အတိုင်း ရေးမည်။
#include < stdio.h > #include < opencv2/opencv.hpp > using namespace cv; int main(int argc, char** argv ) { Mat image,bw_img; image = imread( "/home/yan/thiri.jpg", 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Original Image", WINDOW_AUTOSIZE ); imshow("Original Image", image); cvtColor(image, bw_img, COLOR_BGR2GRAY); namedWindow("BW Image", WINDOW_AUTOSIZE ); imshow("BW Image", bw_img); waitKey(0); return 0; }Listing. ပုံ တစ်ပုံကို ဖတ်ပြ၍ အဖြူ အမည်း ပြောင်းပေးသော ပရိုဂရမ်။
ဤ ပရိုဂရမ် တွင် ပုံကို ဖတ်၍ ရသည့် အခါ cvtColor ကို သုံး၍ အဖြူ အမည်း ပုံ ဖြစ်အောင် ပြောင်းသည်။ တဖန် DisplayImageQt.pro ဟူသည့် ဖိုင်ကို ဖွင့်၍ အောက်ပါ စာရင်း အတိုင်း ဖြစ်အောင် ထပ်ဖြည့် မည်။
TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp INCLUDEPATH += /usr/local/include/opencv LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecsListing. DisplayImageQt.pro
ပြီးနောက် ပရိုဂရမ် အား run ကြည့်ပါက အောက်ပါပုံ အတိုင်း သီရိ၏ မူရင်း နှင့် အဖြူ အမည်း ပုံများ လှပစွာ ပေါ်ထွက် လာမည်။
Code::Blocks ဖြင့် အသုံးပြုခြင်း
Code::Blocks IDE ကို တပ်ဆင် ရန် terminal တွင် အောက်ပါ စာရင်း အတိုင်း ရိုက်ထည့် နိုင်သည်။sudo apt-get install build-essential sudo apt-get install libgtk-3-dev sudo apt-get install gdb sudo add-apt-repository ppa:damien-moore/codeblocks-stable sudo apt-get update sudo apt-get install codeblocks codeblocks-contribListing. Code Blocks တပ်ဆင်ခြင်း။
Code::Blocks ကို တပ်ဆင် ပြီးသည့် အခါ သူ့ကို ဖွင့်လိုက်ပြီး ပုံ တွင် ပြထား သလို File menu → New → Project... သို့မဟုတ် Start here ဆိုသည့် tab ရှိ Create a new project ကို နှိပ်နိုင် သည်။ ပြီးသည့် အခါ ပေါ်လာသည့် ဝင်းဒိုး တွင် project အမျိုးအစား သတ်မှတ်ရန် OpenCV project ကို ရွေးပြီး Go ကို နှိပ်မည်။
ပြီးသည့် အခါ Next ကို နှိပ်ပြီး ပရောဂျက် အမည် နှင့် သိမ်းမည့် နေရာ များ သတ်မှတ် မည်။
ထို့နောက် Compiler ကို GNU GCC compiler ကို အောက်ပါ ပုံ အတိုင်း ရွေးပြီး Finish ကို နှိပ်မည်။
ထိုအခါ ဖန်တီး ရရှိလာ သော ပရောဂျက် တွင် နမူနာ OpenCV ကုဒ်များ နှင့် ထိုကုဒ်တွင် သုံးထားသော lena.jpg ကိုပါ တွေ့ရမည်။ Header အတွက် #include < opencv2/opencv.hpp > ဟု ပြင်ပြီး သည့် အခါ အောက်ပါ ပုံ နှင့် စာရင်း အတိုင်း တွေ့ရမည် (online)။
#include < opencv2/opencv.hpp > using namespace cv; int main(int argc, char *argv[]) { Mat img = imread("lena.jpg", CV_LOAD_IMAGE_COLOR); if(img.empty()) return -1; namedWindow( "lena", CV_WINDOW_AUTOSIZE ); imshow("lena", img); waitKey(0); return 0; }Listing. Code::Blocks အတွက် နမူနာ OpenCV ပရိုဂရမ်။
Build Options များသတ်မှတ်ခြင်း
Project Menu → Build Options... ကို နှိပ်ပြီး Search directories tab → Compiler tab တွင် အောက်ပါ ပုံ အတိုင်း /usr/local/include ကို Debug နှင့် Release နှစ်ခုလုံး အတွက် သတ်မှတ် နိုင်သည်။ပြီးသည့် အခါ ဘေးဘက် ရှိ Linker tab တွင် အောက်ပါ ပုံ အတိုင်း lib များ၏ လမ်းကြောင်း /usr/local/lib ကို သတ်မှတ် မည်။
နောက်တစ်ဖန် Linker settings tab တွင် ပုံ အတိုင်း Link libraries များအား သတ်မှတ်မည်။
နောက်ဆုံးတွင် F9 ခလုပ်ကို နှိပ်ပြီး Build and run လုပ်လိုက်လျင် အောက်ပါ ပုံ တွင် ပြထား သကဲ့သို့ ပရိုဂရမ် ၏ output ကို တွေ့နိုင် မည်။
pkg-config သုံးခြင်း
Build Options များကို pkg-config ကို သုံး၍ သတ်မှတ်မည် ဆိုပါက လည်း ရသည်။ Project Menu → Build Options... ကို နှိပ်ပြီး Compiler settings tab → Other compiler options tab တွင် အောက်ပါပုံ အတိုင်း`pkg-config --cflags opencv`ကို Debug နှင့် Release နှစ်ခုလုံး အတွက် သတ်မှတ် နိုင်သည်။
ထို နည်းတူ Linker settings tab → Other linker options tab တွင် အောက်ပါ ပုံ အတိုင်း
`pkg-config --libs opencv`
ကို သတ်မှတ်မည်။ ဤ ပရောဂျက် (online) ကို F9 ခလုပ်ကို နှိပ် ပြီး Build and run လုပ်လိုက်လျင် ပုံ (OpenCV နမူနာ ပရိုဂရမ်ကို Code::Blocks တွင် run ခြင်း) တွင် ပြထား သည့် အတိုင်း တူညီသည့် ရလဒ်ကို ရနိုင်သည်။
Related Posts
အကိုးအကားများ
[Ope17g] OpenCV. Installation in Linux. 2017.url: http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html.
[Ope17l] OpenCV. Using OpenCV with gcc and CMake. 2017.
url: http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html.
No comments:
Post a Comment