Ubuntu16.04上安裝配置opencv2.4.13
opencv官網對linux的配置
主參考鏈接
opencv版本兼容問題
安裝依賴包
$ sudo apt-get update
$ sudo apt-get install -y build-essential
$ sudo apt-get install -y cmake
$ sudo apt-get install -y libgtk2.0-dev
$ sudo apt-get install -y pkg-config
$ sudo apt-get install -y python-numpy python-dev
$ sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install -y libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
$ sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils
下載opencv2.4.13
$ wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.13/opencv-2.4.13.zip
$ unzip opencv-2.4.13.zip
$ cd opencv-2.4.13
$ mkdir release
$ cd release
編譯和安裝
# 開始編譯
$ cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=/usr/bin/g++ CMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_TBB=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DWITH_V4L=ON -DINSTALL_C_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON -DBUILD_EXAMPLES=ON -DWITH_QT=ON -DWITH_OPENGL=ON -DBUILD_FAT_JAVA_LIB=ON -DINSTALL_TO_MANGLED_PATHS=ON -DINSTALL_CREATE_DISTRIB=ON -DINSTALL_TESTS=ON -DENABLE_FAST_MATH=ON -DWITH_IMAGEIO=ON -DBUILD_SHARED_LIBS=OFF -DWITH_GSTREAMER=ON ..
$ make all -j2 # 開啓線程,按照自己配置(2核)
$ sudo make install
系統配置
# 配置環境,將opencv加入到路徑,讓系統能夠找到
$ sudo gedit /etc/ld.so.conf.d/opencv.conf
# 末尾加入 /usr/local/lib
保存退出
$ 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 #使配置生效
-----------------------------------------------
$ su //獲取root權限,否則下面的source命令不可用
su: Authentication failure
$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
-----------------------------------------------
$ su
$ source /etc/bash.bashrc
Ctrl+d #退出root權限
$ sudo updatedb # 更新database
檢查
- 確保我們已經安裝了c++編譯器
$ sudo apt-get install build-essential g++
- 檢查包含、鏈接配置是否正確:
$ pkg-config opencv --cflags --libs
注:pkg-config 是維護着一個關於opencv的配置文件,這個文件(opencv.pc)在目錄 /usr/local/lib/pkgconfig,這個文件記錄着opencv的一些動態庫信息,還有頭文件信息
- 查看 opencv 頭文件(.h) 位置
$ pkg-config --cflags opencv
- 查看opencv 庫文件位置
$ pkg-config --libs opencv
- 測試一個簡單的OpenCV程序
$ cd ~/Downloads/opencv-2.4.13.6/samples/cpp
$ g++ edge.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -o edge
$ ./edge
- 測試GPU加速OpenCV例程
$ cd ../gpu
$ g++ houghlines.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_calib3d -lopencv_contrib -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videostab -o houghlines
$ ./houghlines ../cpp/logo_in_clutter.png
安裝完的opencv所在路徑
usr/local/share