Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)

Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)

  • 安装cmake-qt-gui
  • 下载apt包
  • 下载OpenCV并修改一些文件
  • 第一坑:改文件
  • 第二个坑:还是改文件
  • 编译
  • 配置环境
  • 测试Demo
  • 参考文章

安装cmake-qt-gui

opencv编译时有一些选项要调整,安装这个可以界面调整,舒服一些

sudo apt-get install cmake-qt-gui

下载apt包

安装编译工具
sudo apt-get install build-essential
安装依赖包
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
安装可选包
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

下载OpenCV并修改一些文件

wget https://github.com/Itseez/opencv/archive/2.4.13.zip
解压并打开文件夹"opencv-2.4.13"
cd opencv-2.4.13

第一坑:改文件

Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)_第1张图片打开 cmake/OpenCVPackaging.cmake

set(OPENCV_VCSVERSION "2.4.13")

Place the line anywhere above the first use of OPENCV_VCSVERSION.
改好后这个样子:
Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)_第2张图片

第二个坑:还是改文件

Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)_第3张图片
打开cmake/ OpenCVDetectCXXCompiler.cmake
u have to change “dumpversion” to “dumpfullversion”

explanation is that in gcc with higher version, dumpversion function can’t get true full version number of compiler so that cmake progress will fail.

改完这个样子:
Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)_第4张图片

编译

cd opencv-2.4.13
mkdir build
cd build
cmake-gui ..
gui直接关闭FFMPEG 和CUDA
make -j20    //开启线程 按照自己的配置
sudo make install

Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)_第5张图片点Configure,然后Generate
在这里插入图片描述

配置环境

将opencv的库加入到路径,从而让系统可以找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
末尾加入/usr/local/lib,保存退出
sudo ldconfig    使配置生效

sudo gedit /etc/bash.bashrc 
末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出
sudo source /etc/bash.bashrc  #使配置生效
(该步骤可能会报错找不到命令,原因是source为root命令
su(进入root权限)
输入密码
source /etc/bash.bashrc
Ctrl+d(推迟root)
sudo updatedb #更新database

测试Demo

Lena图片可以右键另存为
Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)_第6张图片

touch Dis.cpp
vim Dis.cpp
//文件名字Dis.cpp
#include 
#include 
using namespace cv;
int main( )
{
    Mat image;
    image = imread("./lena.jpg", 1 );//目录按照自己的目录
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}
g++ Dis.cpp -o Dis.o `pkg-config --cflags --libs opencv`

参考文章

ubuntu16.04 + OpenCv 2.4.13安装:
https://blog.csdn.net/zbzb1000/article/details/81431685

OpenCV2.4.13+Ubuntu18.04 配置:
https://www.jianshu.com/p/fa8400c991da

OpenCV CMake package version error:
https://codeyarns.com/tech/2017-12-23-opencv-cmake-package-version-error.html

Make Error at cmake/OpenCVDetectCXXCompiler.cmake:
https://answers.opencv.org/question/65548/cmake-error-at-cmakeopencvdetectcxxcompilercmake/

你可能感兴趣的:(opencv,qt,visual,studio)