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

前端之家收集整理的这篇文章主要介绍了ubuntu 14 下配置 openCV3.2 和 qt5.8前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

为了能识别出电视是不是正常工作,所以这个工具需要能通过摄像头来自动识别电视机处于关机,黑屏,显示正常图像,显示异常图像之类。基于这个需求,需要找一个图像处理开源库。在网上转了一圈,发现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;
}
剩下的,就是编译运行了。
原文链接:https://www.f2er.com/ubuntu/354164.html

猜你在找的Ubuntu相关文章