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源码目录

ubuntu16.04手动编译opencv4.1.0_第1张图片

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

最后完成编译如下:

ubuntu16.04手动编译opencv4.1.0_第2张图片

如果出现以下错误,可以尝试跳过第4步,直接安装第5步

ubuntu16.04手动编译opencv4.1.0_第3张图片

注意:源码的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);
}

运行结果:

ubuntu16.04手动编译opencv4.1.0_第4张图片

你可能感兴趣的:(Opencv)