Ubuntu18.04之继续安装opencv4.0(踩了很多雷)

之前在Ubuntu16.04上装完vtk8.2之后装opencv真是各种错误都有,竟然装了一个星期才弄好,解决了一个错误又来一个,被自己蠢哭。在尝试了三个版本之后决定最终用opencv4.0的版本。

详细流程:

  • 1. 安装依赖库:
  • 2.下载OpenCV + OpenCV_Contrib库
  • 3. 配置opencv:
    • 1、在build文件夹下打开终端,输入:
    • 2、根据自己的需要配置需要编译的模块,我的是修改了下面的几处:
    • 3、最后继续在终端输入:
    • 5、继续输入:
    • 6、opencv环境变量配置
  • 4、简单程序测试

1. 安装依赖库:

------------------换成另一个博文里提到的依赖库了!!!--------------------------------------------

$sudo apt install -y build-essential cmake git pkg-config libgtk2.0-dev libopenexr-dev
$ sudo apt install -y gfortran libblas-dev liblapack-dev libeigen3-dev
$ sudo apt install -y python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libjasper-dev
$ sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libavresample-dev libxvidcore-dev libx264-dev libv4l-dev

2.下载OpenCV + OpenCV_Contrib库

opencv源码下载地址:https://opencv.org/releases/

opencv contrib源码下载地址:https://github.com/opencv/opencv_contrib/releases

自己选择合适的版本进行下载,解压。

源码放在新建的Opencv文件夹下,opencv_contrib放在源码文件夹下,Opencv文件夹下再新建文件下名为build。

3. 配置opencv:

1、在build文件夹下打开终端,输入:

cmake-gui

此时会弹出这个界面,填好上面两行之后,将advanced勾上,然后就可以对红色区域有选择性的勾选。
Ubuntu18.04之继续安装opencv4.0(踩了很多雷)_第1张图片

2、根据自己的需要配置需要编译的模块,我的是修改了下面的几处:

注意: 1、因为我们还安装了opencv-contrib,所以还有一个OPENCV_EXTRA_MODULES_PATH 这个变量名,后面要跟上你自己的路径名,记得修改一下。
2、CMAKE_INSTALL_PREFIX路径我没用默认的(因为默认的话之前安装了vtk也是默认的,会混合编译吧我也不知道为啥,虽然最后安装会成功,但是运行一个简单程序的时候在运行那步报错!血的教训,重装)

1、CMAKE_BUILD_TYPE=Release                                         # 默认Debug运行会较慢
2、CMAKE_INSTALL_PREFIX=/usr/local/opencv4.0                 # 改到想要安装的位置,我在/usr/local下创建了名为opencv4.0的文件夹
3、OPENCV_GENERATE_PKGCONFIG 选上
4、OPENCV_ENABLE_NONFREE 选中(SURF 专利问题)这个选项要打开,不然像sift等算法用不了,当然,可以不用。
5、BUILD_opencv_world 选上 # 常规下编译opencv源码会生成很多库,勾上它则可以只生成一个库:
6、WITH-VTK                  那个勾去掉去掉去掉,我重装了好几遍就是因为它,太气人了!糟心啊糟心我也不知道这个opencv库每次编译安装的时候咋这么会来事,看到我就怕怕的)后来把with——vtk那个勾选的去掉了
 
注意:build_example这里要是进行学习的话最好勾选上,会有自带的例子可供学习。我就不选了这儿

接着单击configure,点击Generate生成配置文件;

1、OPENCV_EXTRA_MODULES_PATH=…/…/opencv_contrib-4.0.0/modules #下拉设为自己的路径
再点击Generate生成配置文件

在这里会出现问题:
onfigure点击之后应该会下载一些文件,包括前面提到的ippicv_2019_lnx_intel64_general_20180723,而face_landmark_model.dat可能是在cmake的时候下载,也可能是make的时候,反正都可以先下载下来。因为configure之后,ippicv等文件会下载很久,所以可以修改文件的路径指向本地文件,而不用每次都下载:

在这里插入图片描述
下载地址为:https://github.com/opencv/opencv_3rdparty/blob/contrib_face_alignment_20170818/face_landmark_model.dat
然后找到opencv_contrib-4.0.0/modules/face/CMakeLists.txt文件打开,将CMakeLists.txt文件的第19行修改为本地路径,即将原来的网址修改为下载的文件保存的路径即可
在这里插入图片描述好了之后的图片:
Ubuntu18.04之继续安装opencv4.0(踩了很多雷)_第2张图片

3、最后继续在终端输入:

sudo make -j8

输入密码,然后就是等等等,一直到变为100%,等了好久。。。
在这里插入图片描述

5、继续输入:

sudo make install

OK!完成,给自己撒花,我太难了,头疼
Ubuntu18.04之继续安装opencv4.0(踩了很多雷)_第3张图片

6、opencv环境变量配置

配置OpenCV编译环境:

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

在该文件(可能是空文件)末尾加上:

/usr/local/opencv4.0/lib

再执行以下命令使刚才配置的路径生效:

sudo ldconfig

配置bash,终端输入:

sudo gedit /etc/bash.bashrc

然后添加环境变量PKG_CONFIG_PATH到~/.bashrc

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4.0/lib/pkgconfig
export PKG_CONFIG_PATH
fi

这个fi一定要加到后面,然后保存退出

source /etc/bash.bashrc

4、简单程序测试

cmake_minimum_required(VERSION 3.1)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

project(opencv_example_project)
set(OpenCV_DIR /usr/local/opencv4.0/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)

add_executable(readimage readimage.cxx)

target_link_libraries(readimage ${OpenCV_LIBS})

主程序:

#include
#include
using namespace cv;
using namespace std;
int main()
{
    //读取图片
    Mat image = imread("../data/mag.png");
    if (image.data != NULL)
    {
        //显示图片
        imshow("读取并显示图片", image);  //// imshow之后必须有waitKey函数,否则显示窗内将一闪而过,不会驻留屏幕
        waitKey(0);
    }
    else
    {
        cout << "cannot open the file!" << endl;
        getchar();
    }
    return 0;
}

图会显示出来,好了,这个成功,吐血了

参考链接:
1、https://blog.csdn.net/weixin_41053564/article/details/81254410
2、https://blog.csdn.net/weixin_40628128/article/details/89891227
3、https://www.cnblogs.com/journeyonmyway/p/10320837.html
4、https://blog.csdn.net/CSDN330/article/details/86747867
5、https://blog.csdn.net/yz2zcx/article/details/99892452
6、https://blog.csdn.net/wangyjfrecky/article/details/88063058
7、https://blog.csdn.net/titer1/article/details/45070065

你可能感兴趣的:(ubuntu环境配置)