Ubuntu下OpenCV的配置
阿新 • • 發佈:2018-12-08
Ubuntu18.04LTS下OpenCV的配置
配置過程同樣適用於Ubuntu Mate16.04 LTS 親測實用
本文大部分來自@blanklog的博文
安裝依賴包
sudo apt-get install build-essential #[編譯器] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev #[必備] sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev #[可選]
下載opencv
儘量安裝最新版本的opencv,可以直接去github下載最新的程式碼,可以避免報錯
Github-opencv
安裝opencv
將下載的原始碼包解壓,進入目錄,建立編譯目錄
cd opencv-master
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. #編譯成release版本,安裝路徑/usr/local/
- 順便一提可通過cmake-gui命令配置python,matlab等
之後進行make安裝
make -j4 #根據cpu核心來選擇 sudo make install
安裝完成測試
測試方法1
cd到opencv-3.4.1/samples/cpp/example_cmake目錄下 我們可以看到這個目錄裡官方已經給出了一個cmake的example我們可以拿來測試下 按順序執行
cmake .
make
./opencv_example
測試方法2
- 建立目錄opencv-test
- 進入目錄
- 建立編輯檔案DisplayImage.cpp
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
- 建立CMake編譯檔案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} )
- 編譯執行
cmake .
make
./DisplayImage opencv.jpg
檢視當前OpenCV版本
pkg-config --modversion opencv
從原始碼到可執行檔案
一般要新增的標頭檔案
//程式依賴的標頭檔案
#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
//包含程式所使用的名稱空間
using namespace std;
using namespace cv;
CmakeLists.txt檔案模板
project(Build)
find_package(OpenCV REQUIRED)
add_executable(Build LinearFilter.cpp)
target_link_libraries(Build ${OpenCV_LIBS})
講解的比較詳細的cmakelists編寫規則請參見《視覺SLAM十四講》 2.4節
編寫完原始檔和CmakeLists.txt後,新建一個build目錄,進入目錄,然後執行
cmake .. //工程連結庫之類的
make //編譯之類的,生成可執行檔案
./Build //執行