參考鏈接:
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);
}
運行結果: