龙空技术网

Linux下OpenCV安装方法

人工智能与机器视觉 231

前言:

如今小伙伴们对“ubuntuopencv300”可能比较关切,小伙伴们都想要剖析一些“ubuntuopencv300”的相关资讯。那么小编同时在网络上汇集了一些对于“ubuntuopencv300””的相关资讯,希望咱们能喜欢,同学们快快来学习一下吧!

以前讲过如何在windows下安装配置opencv,最近有朋友在问linux下怎么安装配置OpenCV。今天就把完整的安装配置过程写下来,供需要的人参考。在此以ubuntu18.04和OpenCV4.1.0作为示例,其它版本的安装与此类似。安装方法参考了网上其它教程,然后自己经过实践安装,证明安装过程没有问题,配置好之后可以使用。

第一步,ubuntu的软件源建议更换为国内的,如清华、阿里等ubuntu默认是国外的软件源,不更换下载速度可能很慢。然后可以将系统进行更新,在ubuntu终端输入下面命令:

sudo apt-get update

sudo apt-get upgrade

第二步,安装一些依赖项。依次在终端执行下列命令:

sudo add-apt-repository "deb xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

sudo apt-get install libgtk-3-dev libgtk2.0-dev pkg-config

sudo apt-get install build-essential

sudo apt-get install cmake libgtk-3-dev libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install python3-dev python3-numpy python-dev python-numpy libpython3.6-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libdc1394-22-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev

sudo apt-get install libopenexr-dev

sudo apt-get install libxvidcore-dev libx264-dev

sudo apt-get install libatlas-base-dev gfortran

sudo apt-get install ffmpeg

第三步,安装cmake-gui。对于从windows转向linux的人而言,可能看到界面比看控制台终端黑屏幕更加习惯,所有安装cmake-gui。否则,直接在终端执行安装也可以。这里以cmake-gui为例,说明怎么编译OpenCV。在终端输入如下命令安装cmake-gui:

sudo apt-get install cmake-gui

第四步,下载和解压opencv4.1.0和opencv_contrib-4.1.0。需要注意的是,在编译的时候,第三方库需要下载,但是对应的网站国内打不开,所以,可以先下载下来,放在指定的位置,然后在对应的cmake文件中修改下载地址为本地电脑上放置的位置。我已经把下载好的文件一起放在opencv4.1.0和opencv_contrib-4.1.0对应的文件夹下了,完整的安装文件压缩包放在网盘上了,里面已经包含了对应的第三方库。有需要的可以联系,自行下载使用。

第五步,可以专门建立一个文件夹build,用于放置编译文件。然后进入build文件夹,打开终端,输入命令:

cmake-gui

上面命令将打开cmake-gui界面后。然后选择opencv源文件的位置和编译文件放置位置,点击下面的“Configure”按钮。具体见图1。

图1 第一次配置

图1是打开cmake-gui后,选择址opencv源文件路径和编译文件路径,点击“Configure”按钮的结果。

第六步,修改一些编译配置,如图2、图3和图4所示。在cmake-gui界面上,将CMAKE_BUILD_TYPE 值设置为Release,将OPENCV_ENANLE_NONFREE选中,在下面的扩展模块路径中选择opencv_contrib-4.1.0下modules路径。Ubuntu18.04默认安装了python,建议将python升级到3.8以上,如果需要python,勾选OPENCV_PYTHON3_VERSION,如果不需要也可以不勾选,不影响编译结果。如果勾选了,一定要先把python3.8配置好。具体python3.8的配置网上有很多资料,在此就不重复了。

将OPENCV_GENERATE_PKGCONFIG勾选上,这将自动生成opencv4.pc文件,否则,将在编译完成之后手动创建该文件,比较麻烦。如果需要在QT下使用,将WITH_QT勾选上,注意,如果勾选了WITH_QT,则不要勾选前面的BUILD_opencv_world,也就是不要将OpenCV的动态库文件编译为一个文件,否则后面编译将出错。

图2 修改某些配置

图3 修改某些配置

图4修改某些配置

第七步,在此点击“Configure”按钮,完成之后点击“Generate”按钮。如果正确配置了并且第三方库也放在了指定的位置,将生成成功,然后就可以开始编译了。

第八步,关闭cmake-gui,将opencv4.1.0/modules文件夹下的features2d文件夹拷贝到build文件夹下,在build文件夹下打开终端,输入下面命令:

make

这时将开始编译,过程比较漫长,直到100%完成,编译结束,然后输入下面命令进行安装:

sudo make install

安装配置的位置在cmake-gui中有设置,如果在配置cmake-gui界面时仔细观察,将看到图5所示安装位置。

图5 安装位置

第十步,等待安装完成后,开始配置OpenCV的环境变量。在终端输入如下命令:

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

如果没有该文件,将打开一个新的空白文件,在文件末尾添加如下内容:

/usr/local/lib

这就是OpenCV编译后的库文件位置。然后保存,执行下面命令让配置生效:

sudo ldconfig

最后,配置bash,在终端执行下面命令:

sudo gedit /etc/bash.bashrc

在末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

保存退出,然后执行如下命令使得配置生效

source /etc/bash.bashrc

以上就是完整的安装配置过程。如果配置生效功能没有生效,可以重启一下电脑。图6和图7是我电脑上安装后的结果lib文件和pkgconfig文件位置,pkgconfig文件下是opencv4.pc文件。

图6 lib文件位置

图7 opencv4.pc文件位置

注意,opencv4.pc是在cmake-gui界面上勾选了OPENCV_GENERATE_PKGCONFIG之后才会生成,否则将自己手动创建该文件,并向该文件添加一些内容。里面的内容是关于opencv的一些信息,如图9所示。

图8 勾选“OPENCV_GENERATE_PKGCONFIG”

图9 opencv4.pc文件内容

附1:查看OpenCV版本信息

附2:测试OpenCV。

进入/opencv-4.1.0/samples/cpp/example_cmake文件夹,在我电脑上的文件位置如下图所示。

右键打开终端,依次输入下面图中所示命令:

如果有摄像头,将被打开并看到图像,如果没有,将看到如下图所示结果。说明OpenCV已经安装好了。

附3:OpenCV在qt中的配置和使用。

任意新建一个qt项目,这里是以窗体项目为例,建好项目之后,在qt的.pro文件中配置opencv如下:

#头文件配置

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

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

INCLUDEPATH += /usr/local/include/

# 库文件配置

LIBS += /usr/local/lib/libopencv_*.so \

具体如下图所示:

在按钮单击事件中写下如下代码:

void Widget::on_pushButton_clicked()

{

Mat src = imread("/home/adminone/images/test.jpeg",1);

namedWindow("src",0);

imshow("src",src);

waitKey(0);

return;

}

运行结果如下:

附4:第三方库放置位置

Boostdesc和vgg_generated等文件共11个,放在opencv_contrib-4.1.0/modules/xfeatures2d/src目录下,网盘上我已经将该文件放进去了,如果在自己的电脑上编译失败,应该是md5校验失败,需要自己重新在github上去下载,然后放进去。ippicv_2019_lnx_intel64_general_20180723和face_landmark_model放在了和opencv-4.1.0相同的目录里,需要修改cmakelists.txt文件中的下载位置,如下面两张图所示。为了避免找不到该文件,请注意图中所示的每个文件的路径位置。

标签: #ubuntuopencv300 #centos7ffmpeg安装 #ubuntu安装gfortran #ubuntupeizhiopencv #ubuntu16boost安装