Ubuntu下编译OpenCV

Posted lpcarl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下编译OpenCV相关的知识,希望对你有一定的参考价值。

一、准备

下载opencv源码

1、git clone https://github.com/opencv/opencv.git

2、可以通过下载zip包的方式、

安装cmake g++等编译工具

切换到root用户下,并安装编译工具链

apt install cmake3 cmake3-qt-gui g++ libgtk2.0-dev


解压源码

unzip opencv-master.zip

二、配置并编译

首先,在opencv目录下配置两个文件夹,build和install
build用来保存中间编译生成的临时文件
install用来保存最终安装的文件


打开终端切换到bulid目录下,
然后执行配置命令

cmake ..

对应的结果如下所示

接下来,修改安装路径

cmake-gui ..


重新configure 并generate

在终端里编译

make -j8

编译完成后进行安装,如果没有错误能跑到100%

sudo make install

执行完后,可在安装目录看到4个文件夹

三、测试

写一个图片显示的程序
从opencv中文网下载测试图片

把图片和源码放在同一个文件夹下

编写代码

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;
int main()
{
	Mat img=imread("Lean.jpg");
	if(img.empty())
	{
		cout<<"read error"<<endl;
		return 0;
	}

	nameWindow("image",1);
	imshow("image",img);

	waitKey(10000);
	return 0;
}

接下来,进行编译

g++ main.cpp  -std=c++11 -I /home/lpc/Desktop/opencv-master/install/include/opencv4/ -L /home/lpc/Desktop/opencv-master/install/lib/  -lopencv_stitching -lopencv_objdetect   -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core


编译完成后会生成一个a.out可执行文件

接下来,终端编辑

sudo gedit /etc/ld.so.conf.d/opencv.conf

将opencv动态库所在的路径加到文件里,保存退出

在终端内运行ldconfig 重新加载动态库

sudo ldconfig

最后再运行./a.out即可看到效果

以上是关于Ubuntu下编译OpenCV的主要内容,如果未能解决你的问题,请参考以下文章

opencv系列之ubuntu系统下编译python版本的opencv(指定特定的ffmpeg)

opencv系列之ubuntu系统下编译python版本的opencv(指定特定的ffmpeg)

ubuntu18下编译opencv4.2.0 CUDA版本,集成到Anconda中

在release模式下编译opencv写的人脸检测代码,提示:无法打开输入文件“opencv_calib3d244.lib”

ios下编译opencv

linux下编译opencv