ubuntu16.04手動編譯opencv4.1.0

參考鏈接:

https://blog.csdn.net/Kevin_Xie86/article/details/99546714

https://blog.csdn.net/weixin_44003563/article/details/90404745

https://blog.csdn.net/LEON1741/article/details/85048614

 

linux下opencv編譯方式分兩種,一種cmake-gui,另外就是手動編譯,這裏簡單介紹手動編譯,以便後續使用參考

1、首先去github上下載源碼

opencv:https://github.com/opencv/opencv/releases

opencv-contrib:https://github.com/opencv/opencv_contrib/releases

2、解壓opencv源碼,並將opencv-contrib解壓到opencv源碼目錄

3、安裝依賴

sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev

4、依次輸入以下命令開始編譯

mkdir -p release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local .. \
	-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.1.0/modules \
	-D WITH_LIBV4L=ON \
 	-D WITH_CUDA=OFF \
	-D WITH_TBB=ON \
	-D WITH_OPENMP=ON \
	-D WITH_OPENGL=ON ..

編譯的時候如果出現

CMake Error at CMakeLists.txt:11 (message):


  FATAL: In-source builds are not allowed.

         You should create separate directory for build files.

-- Configuring incomplete, errors occurred!

直接刪除opencv目錄下的CmakeCake.txt文件

5、如果跳過4則按以下輸入 

cmake ..
make -j8
sudo make install

最後完成編譯如下:

如果出現以下錯誤,可以嘗試跳過第4步,直接安裝第5步

注意:源碼的include/opencv2/目錄下不像windows安裝包一樣直接包含了頭文件,只有一個opencv.hpp文件

正常編譯完成後會在目錄下生成相應的頭文件和lib文件

/usr/local/include/opencv4
/usr/local/lib

6、使用QT測試opencv4.1.0

(1)首先使用QT客戶端新建一個工程;

(2)在.pro文件裏添加配置文件

INCLUDEPATH += /usr/local/include \
               /usr/local/include/opencv4/ \
               /usr/local/include/opencv4/opencv2


LIBS += /usr/local/lib/libopencv_highgui.so \
        /usr/local/lib/libopencv_core.so    \
        /usr/local/lib/libopencv_imgproc.so \
        /usr/local/lib/libopencv_imgcodecs.so

(3)添加一個按鈕事件測試代碼

void MainWindow::on_pushButton_clicked()
{
    cv::Mat src = cv::imread("/home/bzl/QT_Projection/untitled/lena.jpg", -1);
    cv::imshow("demo", src);
    cv::waitKey(0);
}

運行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章