环境配置:Ubuntu+QT+opencv

环境配置:Ubuntu+QT+opencv

唠叨两句:最近打算在windows10上的vs跑跑KCF算法,在git上下载的源码没能跑成功,查询了很多原因,最后总结出是因为windows上自带的头文件winnt.h与KCF源码有语句冲突,为了减少改代码的工作量,决定在ubuntu系统上配置opencv,方便后续开发。

已有的环境基础:Ubuntu18+QT5.1.2

QT的安装教程:

QT教程的安装很简单,这里就不废话了
参照下大佬的教程:https://blog.csdn.net/wuweifeng_2017/article/details/78322249

Opencv环境配置:

关于配置opencv我已经配置了一天半才能配置成功,我太难了,所以把配置过程中遇到的问题也分享。
网上的配置过程都大同小异,多多指点!

下载opencv软件包(zip格式)
两种方式:
方式一:官网下载:https://opencv.org/
方式二:命令行下载:wget https://github.com/opencv/opencv/archive/3.4.1.zip
注意:3.4.1是opencv的版本号,可根据自己的喜好选择版本号。

下载之后可进行解压文件夹:命令行解压:unzip 压缩文件包
解压完之后可以看到:
在这里插入图片描述

进入opencv-3.4.1文件夹中:命令行:cd opencv-3.4.1
可以看到:
在这里插入图片描述

可以看到很多子文件和文件夹,其中可以看到build这个文件夹是我手动创建的,我们接下来将在build这个文件夹中完成opencv的安装。
创建build文件夹:mkdir build 并且进入:cd build

在该文件夹下安装依赖项:

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

注意:由于依赖包较大,建议在网络较好的情况下安装,免得后面由于依赖包未安装完成没法配置成功,重新安装很麻烦,脑子会很乱。

一些安装完成之后,进入cmake,由于我的没有opencv的附加包opencv-contrib,所以cmake命令较为简单:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

在cmake过程中可能会出现configuration incomplete,提示你安装失败,然后你重新cmake还是一样,而且这次错误的出现比往年来的更快,别慌,重新回到前面的依赖包安装。
保证依赖包全部下载完成之后!注意!在重新cmake之前,一定要把原来cmake产生的文件删除!

就是这个文件:
在这里插入图片描述
删除命令行:rm CMakeLists.txt
然后重新按照上述的cmake命令再来一次,基本就没啥问题了。

配置环境:

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' 
sudo ldconfig

最后:用QT测试:
进入QT:创建一个空项目,创建成功之后:
左上角会有个.pro文件,打开进行配置:

INCLUDEPATH += /usr/local/include \
               /usr/local/include/opencv \
              /usr/local/include/opencv2 \
LIBS += /usr/local/lib/libopencv_*.so

保存

最后,重启ubuntu系统,打开刚刚的项目,输入opencv的测试代码:

#include<iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;

int main()
{
    Mat image;
    image = imread("/home/iot/opencvDemo/untitled/timg.jpeg" ,2);//not 16bits or 32bits
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", CV_WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;

}

在这里插入图片描述
测试成功啦!

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值