本人最近需要在ubuntu下进行视觉相关的开发,以前在windows中一直是用vs2017进行开发。现在在ubuntu中,vs没法用,只能用vscode或者qt了,看网上推荐vscode的比较多,所以就打算在vscode中配置opencv。
本人的环境是ubuntu16+vscode+opencv3.4.6
#1.安装
1.去官网下载opencv,本教程安装的是opencv3.4.6,其他版本安装大同小异。下载链接,选择source版本
2.解压下载打压缩包
cd xxx //转到文件路径
unzip opencv3.4.6.zip//解压
3.安装依赖库
这一步可以说是最容易出错的,要是这一步没做好,后面进行cmake的时候就会报各种错误,比如找不到什么包。
最严重的是cmake没问题,但当你运行包含opencv库代码的时候报错,这时候你就需要卸载重装。话不多说,开始安装依赖库
sudo apt-get update
sudo apt-get install vim
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install cmake
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install gfortran
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev
除此之外,可能还需要安装一些其他的库,这篇文章很详细
为了防止卸载重装,建议把这篇博客中出问题需要下载的依赖也都再下载一遍。
把上面的依赖装好之后,有些用户可能会在最后调用opencv的时候出问题(比如我),具体的问题是在这里插Thefunction is not implemented. Rebuild the library with Windows, GTK+ 2.x orCarbon support. If you are on Ubuntu or Debian, install libgtk2.0‑dev and pkg
这个问题只有当你调用imshow的时候才会出现,调用其他的代码并没有问题,原因在于qt5没有安装,所以需要卸载重装,在重装前安装上qt5
sudo apt-get install qt5-default
4.进入到解压后的文件包中,创建编译文件夹
cd XXX/opencv-3.4.6
mkdir Release
cd Release
5.CMAKE
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
这里的cmake语句是用我第一次安装使用的,后来报错之后,使用了下面的语句,把qt也编译进来
cmake -D CMAKE_BUILD_TYPE=Release -D WITH_QT=ON WITH_GTK = ON WITH_GTK_2_X =ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
这样就没有问题了
6.后面开始make
sudo make
sudo make install
7.执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/usr/local/lib
8.执行如下命令使得刚才的配置路径生效
sudo ldconfig
10.配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存,执行如下命令使得配置生效
source /etc/bash.bashrc
更新
sudo updatedb
cd到opencv-3.4.1/samples/cpp/example_cmake目录下
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
cd ..
cd samples
cd cpp
cd example_cmake
cmake .
make
./opencv_example
暂时就先这样,后面再加上vscode的配置
参考博客博客