ubuntu 14 下配置 openCV3.2 和 qt5.8

3 篇文章 0 订阅

厌倦了每天重复复制问题,回退版本的重复劳动,希望能开发一个自动测试的工具,把这些重复劳动交给电脑来自动完成。

为了能识别出电视是不是正常工作,所以这个工具需要能通过摄像头来自动识别电视机处于关机,黑屏,显示正常图像,显示异常图像之类。基于这个需求,需要找一个图像处理开源库。在网上转了一圈,发现openCV是个比较热门的图像处理库。没有基础,那就边学边开搞吧。

由于我的笔记本运行的系统是UBUNTU,所以就选用了Qt+openCV来搭建开发软件。

首先要装Qt。最新的版本是QT5.8,去官网下载一个离线安装包,然后直接运行就可以了。我不知道安装完以后qtcreator被装到哪里去了,就在第一次打开qtcreator的时候把qtcreator给“lock to luncher”了,这样以后用起来会方便些

其次是下载openCV3,2,按照网上的教程,首先解压出源代码,然后在源代码里建立一个build目录。

进入build目录后,执行 如下命令:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 ..
make clean
make install
在执行完后,库文件会被安装到如下路径
/usr/local/opencv320


 在安装完之后,一定要把 lib文件的路径放到 /opt/openCV/opencv-3.2.0/openCV.conf 文件里去,否则的话,在运行时会出现这样的错误信息:

在这个文件中写入

   
   
/usr/local/opencv320/lib
然后执行

   
   
sudo ldconfig

QtOpenCV: error while loading shared libraries: libopencv_core.so.3.2: cannot open shared object file: No such file or directory

到这里,配置工作就结束了,下面可以用qt建立一个项目测试一下opencv能不能正常工作
首先建立一个qt工程,图形界面的和终端应用程序都行。
然后在pro文件中加入头文件的包含路径和库文件的链接路径
INCLUDEPATH += /usr/local/opencv320/include \
/usr/local/opencv320/include/opencv \
/usr/local/opencv320/include/opencv2

LIBS += /usr/local/opencv320/lib/libopencv_core.so \
/usr/local/opencv320/lib/libopencv_highgui.so \
/usr/local/opencv320/lib/libopencv_imgcodecs.so \
/usr/local/opencv320/lib/libopencv_imgproc.so \
/usr/local/opencv320/lib/libopencv_ml.so \
/usr/local/opencv320/lib/libopencv_objdetect.so \
/usr/local/opencv320/lib/libopencv_photo.so \
/usr/local/opencv320/lib/libopencv_shape.so \
/usr/local/opencv320/lib/libopencv_stitching.so \
/usr/local/opencv320/lib/libopencv_superres.so \
/usr/local/opencv320/lib/libopencv_video.so \
/usr/local/opencv320/lib/libopencv_videoio.so \
/usr/local/opencv320/lib/libopencv_videostab.so \

之后,可以打开mainwindow.cpp (我建立的是一个GUI应用程序),在mainwindow.cpp里加上点测试代码
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    String title = "img";
    cv::namedWindow( title, WINDOW_AUTOSIZE );

}

MainWindow::~MainWindow()
{
    delete ui;
}

剩下的,就是编译运行了。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值