1.安装准备

1.1安装环境

  • ubantu 18.04
  • opencv4.4.0
  • opencv-contrib4.4.0 (支持 dnn 图像分类、图像分割等模块)

注:opencv和扩展库opencv-contrib的版本需保持一致,本文以4.4.0为说明,其他版本的安装方法一样

1.2 安装cmake

sudo apt install cmake

1.3 安装依赖包

sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev  libpng-dev  libjasper-dev  libcurl4-openssl-dev  libtbb2 libdc1394-22-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

1.2 下载opencv及contrib源码(4.4.0)

opencv源码下载

opencv4.4.0 源码地址:https://github.com/opencv/opencv/releases?page=2

ubuntu用opencv在图片上写中文 opencv ubuntu_2d


下载Source code(zip)Source code(tar.gz)opencv-contrib下载

opencv-contrib 源码地址:https://github.com/opencv/opencv_contrib/releases/tag/4.4.0

ubuntu用opencv在图片上写中文 opencv ubuntu_opencv_02


下载Source code(zip)Source code(tar.gz)

2.安装

2.1 新建安装目录

mkdir imgproc

2.2 解压

将opencv及opencv_contrib源码,拷贝到imgproc目录,并解压

tar zxvf opencv-4.4.0.tar.gz
tar zxvf opencv_contrib-4.4.0.tar.gz

ubuntu用opencv在图片上写中文 opencv ubuntu_计算机视觉_03

2.3 配置opencv

2.3.1 创建编译和安装目录

opencv-4.4.0源码下新建build目录

cd ~/imgproc/opencv-4.4.0
mkdir build  #新建build目录

imgproc目录下新建安装目录

cd ~/imgproc
mkdir opencv-4.4.0_install

2.3.2 编译opencv

cd ~/imgproc/opencv-4.4.0/build  #进入build目录
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/home/yuan/opencv-4.4.0_install -D OPENCV_EXTRA_MODULES_PATH=/home/yuan/opencv_contrib-4.4.0/modules  ..

注:/home/yuan需要改为自己的家目录,..表示安装到上一级目录,不要遗漏

1. 编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决

参考链接:

ubuntu用opencv在图片上写中文 opencv ubuntu_人工智能_04


由于网速等原因,以下文件需要在本地下载好,其中下载链接可以在build文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i关键词 (不是在文件夹中搜索)

日志文件里就有它的下载地址,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生存同名文件,放在 opencv_contrib/modules/xfeatures2d/src/路径下即可。

总共缺了以下几个文件,都需要下载拷贝:

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i

如果不想自己下载,可以直接下载我下载好的文件,文件链接:ubantu 下安装C++ 版opencv的依赖文件

2 提示找不到feature2d/test/test_detectors_regression.impl.hpp 参考链接:

编译过程中出现如下错误:

fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

原因是没找到这个文件,解决方法如下:

将opencv4.4.0 / modules / 下的features2d文件复制,然后粘贴到build目录中来解决该问题

3 如果编译中断,根据下面的命令重新执行编译过程

make clean
make -j4

2.3.3 安装
编译完成后需要执行make install来进行安装

make install

完成编译后,在安装目录下将生成如下文件

ubuntu用opencv在图片上写中文 opencv ubuntu_2d_05

2.4 环境变量配置

2.4.1 打开或创建opencv4.conf文件,并添加opencv安装路径
sudo   gedit  /etc/ld.so.conf.d/opencv4.conf

在opencv4.conf文件中添加一行如下命令:

/home/yuan/opencv-4.4.0_install/lib
2.4.2 使opencv配置文件生效
sudo  ldconfig
2.4.3 配置bash环境变量
sudo gedit ~/.bashrc

在文件末尾添加如下内容:

export  PKG_CONFIG_PATH=/home/yuan/opencv-4.4.0_install/lib/pkgconfig

生效配置文件

source ~/.bashrc
2.4.4 验证opencv环境配置是否成功

进入opencv-4.4.0_install/lib/pkgconfig,查看文件清单:

ubuntu用opencv在图片上写中文 opencv ubuntu_人工智能_06


其中opencv4.pc里面记录了opencv有关的环境,包括版本、依赖的库以及头文件等。

vim opencv4.pc

ubuntu用opencv在图片上写中文 opencv ubuntu_2d_07


运行如下命令测试能不能找到opencv4库文件,注意opencv4名需要与pkgconfig文件下的opencv4.pc对应。

pkg-config  --cflags  --libs opencv4

ubuntu用opencv在图片上写中文 opencv ubuntu_opencv_08

2.5 opencv测试

2.5.1 进入example_cmake 目录

找到opencv-4.4.0/samples/cpp/example_cmake`目录,该目录下面有一个测试程序,

ubuntu用opencv在图片上写中文 opencv ubuntu_opencv_09

删除多余的文件,只保留CMakeLists.txtexample.cpp这两个文件

rm -rf Makefile
2.5.2 修改CMakeLists.txt
vim CMakeList.txt

ubuntu用opencv在图片上写中文 opencv ubuntu_人工智能_10


将opencv源码的build路径添加到Opencv DIR

set (Opencv_DIR /home/SMCV/einrj/imgproc/opencv-4.4.0/build) # 需要修改为对应build目录
执行cmake
cmake .

执行后,生成了makefile文件

ubuntu用opencv在图片上写中文 opencv ubuntu_2d_11


最后执行make

make

执行后,效果如下

ubuntu用opencv在图片上写中文 opencv ubuntu_计算机视觉_12


完成执行后,生成目标可执行文件opencv_example

ubuntu用opencv在图片上写中文 opencv ubuntu_计算机视觉_13


直接运行可执行文件即可

./opencv_example