另外還要加上Eclipse的整合
Install OpenCV_3.3 on Ubuntu_14.04
首先下載 OpenCV 3.3的source code
更多詳細的內容可以參照
為了能夠編譯過下載回來的 source code, 需要安裝以下 package (最低限度)
[compiler[ build-essential
[make] cmake
[config] pkg-config
[gui] libgtk2.0-dev
[codec] libavcodec-dev libavformat-dev libswscale-dev
所以一次性的安裝就是
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
編譯
安裝好所需要的library and tools之後, 我們來到source code目錄下, 先準備好一個build的目錄
之後要放我們所編譯出來的object and file
之後要放我們所編譯出來的object and file
mkdir build
cd build
接著使用 cmake 來產生出相對應的 make file
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
然後開始編譯 (使用 4個 thread build)
make -j4
安裝
sudo make install
因為在編譯的時候選擇
CMAKE_INSTALL_PREFIX=/usr/local
因為在編譯的時候選擇
CMAKE_INSTALL_PREFIX=/usr/local
所以安裝的檔案都會在以下幾個資料夾下
/usr/local/include
/usr/local/lib
/usr/local/share
安裝成功如圖
http://www.eclipse.org/downloads/eclipse-packages/
記得選擇 C/C++版本的喵
一開始先使用 File -> New -> C++ project 開啟一個 hello world的專案
Project name就請打上 HelloWorld吧~
${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}
/usr/local/include
/usr/local/lib
/usr/local/share
安裝成功如圖
Integrate into Eclipse
準備
首先下載最新版本的Eclipsehttp://www.eclipse.org/downloads/eclipse-packages/
記得選擇 C/C++版本的喵
一開始先使用 File -> New -> C++ project 開啟一個 hello world的專案
Project name就請打上 HelloWorld吧~
導入OpenCV
一開始先打開 terminal, 確定一下OpenCV相關的套件是否也成功安裝了
pkg-config --cflags opencv
-I/usr/local/include/opencv -I/usr/local/include
pkg-config --libs opencv
-L/usr/local/lib -lopencv_dnn -lopencv_ml -lopencv_objdetect -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_imgproc -lopencv_flann -lopencv_core
接著在 eclipse的設定當中, 加入這些選項
- Linker
因為參數的變動, Linker的參數排列方式也需要改變一下, 先選到 Linker
簡單的把 FLAGS 移到最後面就可以了
${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}
移完會變成這樣
測試OpenCV
現在我們替換掉本來的 HelloWorld 成OpenCV版的 HelloWorld吧
1 2 3 4 5 6 7 8 9 10 | #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char **argv) { Mat img(480, 640, CV_8U); putText(img, "Hello World!", Point(200, 250), 0, 1.0, Scalar(255, 255, 0)); imshow("Window", img); waitKey(); return 0; } |
然後再使用Eclipse的編輯以及Run跑跑看
你是否也看到了這樣的畫面了? 喵~
如果, 你沒辦法跑出這畫面, 反倒是出現了這種error
error while loading shared libraries: libopencv_highgui.so.3.3: cannot open shared object file: No such file or directory
這問題是因為opencv的library沒有被load進來
只要加上這幾行, 把之前編譯過的libary加入到 ld 裡面就可以了
打開 terminal, 接著輸入
sudo sh -c "echo '/usr/local/lib' > /etc/ld.so.conf"
sudo ldconfig
再試試~ 看到hello world了嗎~
喵~
沒有留言:
張貼留言