1、安裝依賴項
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 python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
若libgtk2.0-dev安裝報錯,提示附加依賴項 > 2.0等類似問題,請檢查ubuntu源是否有問題,可以試試國內的阿里源或其它高校的ubuntu源。
2、下載opencv3.4.0源代碼
在opencv官網下載src源碼,https://opencv.org/releases.html,選擇3.4.0版本的Sources,下載完成后,解壓至本地目錄。
3、編譯源碼
cd ~/opencv
mkdir release
cd release
sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ON ..
sudo make -j8
sudo make install
(下面這一步添加環境變量可以不用操作,不加也可以編譯,已驗證過)
sudo gedit /etc/ld.so.conf.d/opencv.conf
加入/usr/local/lib(有的是/usr/local/lib/x86_64-linux-gnu)
sudo ldconfig
sudo gedit /etc/bash.bashrc
在最后一行添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
sudo source /etc/bash.bashrc
可以用 pkg-config opencv --cflags --libs
查看安裝結果
opencv -I/usr/local/include -L/usr/local/lib/x86_64-linux-gnu -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
4、測試
include <stdio.h>
include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
Mat image;
image = imread( "lena.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;
}
文件名保存為DisplayImage.cpp。
創建CMakeLists.txt文件,
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
保存,執行
cmake .
make
./DisplayImage
顯示結果