ubuntu+qt+opencv环境配置

参考blog

http://www.openhw

.org/bbs/article_1156_538517.html

说明:操作系统ubuntu 12.04 desktop LTS

          Qt 是C++图行用户界面开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt易于扩展,并且允许组件编程, 它可以运行在Windows,Mac OS X, Unix,Linux。

          OpenCV是计算机开源视觉库可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

1.前期准备

下载OpenCV.书上以2.3.1版本为例,为保持一致性,采用OpenCV2.3.1。官方下载地址

http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2/download

安装cmake

sudo apt-get install cmake

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automakeOpenCV使用cmake进行makefile的创建。

安装qtcreator

sudo apt-get install qtcreator

2.安装

OpenCV包解压到用户目录下,得到opencv文件夹

cd ~/opencv

mkdir release

cd release

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

(注意..”前有空格)

make

等待大概十分钟make完成

sudo make install

至此opencv库安装到了/usr/local/lib目录下,重启电脑,或者执行sudo ldconfig

(关于ldconfig:ubuntu把在开机时所有库文件装入到缓存,这样避免每次使用链接库都需装载,提高系统的效率,ldconfig命令就是重新装载,可通过ldconfig -v查看已经在缓存里的库。)

3.QT4+OpenCV组合配置示例

下面就可以使用QTOpenCV进行开发了。

打开QTcreator新建项目,添加头文件,源文件及其代码(如下,示例项目在附件里也有)

//opencv_example.h

#ifndef OPENCV_EXAMPLE_H

#define OPENCV_EXAMPLE_H
#include <QtGui/QMainWindow>
#include <QtGui>
#include "cv.h"
#include "highgui.h"
class OpenCV_Example : public QMainWindow
{
    Q_OBJECT
public:
    OpenCV_Example();
    QPushButton *b1;
    IplImage *img;
    public slots:
    void slot_imgshow();
};
#endif // OPENCV_EXAMPLE_H

///opencv_example.cpp

#include "opencv_example.h"
OpenCV_Example::OpenCV_Example()
{
    setGeometry(100,100,100,100);
    b1 = new QPushButton("Show Image",this);
    connect(b1,SIGNAL(clicked()), this, SLOT(slot_imgshow()));
}
void OpenCV_Example::slot_imgshow()
{
QMessageBox::information(this,"title","Hello this is popup");
img = cvLoadImage("/home/guo/OpenCV_Example/OpenCV_Example/21.jpg",1);//要打开的图片
//create a new window
cvNamedWindow("Window", 1);
//display the image in the window
cvShowImage("Window", img);
//wait for key to close the window
cvWaitKey(0);
cvDestroyWindow( "Window" ); //destroy the window
}main中编写:
#include <QtGui/QApplication>
#include "opencv_example.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    OpenCV_Example w;
    w.show();
    return a.exec();
}.pro文件中添加编译/链接选项
INCLUDEPATH+= /usr/local/include
INCLUDEPATH+=/usr/local/include/opencv
LIBS+=/usr/local/lib/libopencv_core.so
LIBS+= /usr/local/lib/libopencv_highgui.so
LIBS+= /usr/local/lib/libopencv_imgproc.so

然后构建运行。

4.说明,以后在QT的项目的.pro文件里类似的加入上边的配置即可。



按照以上配置好之后,qt显示说找不到libopencvhighgui

于是又参考了http://blog.csdn.net/dumeifang/article/details/2963223

把/usr/local/lib写入/etc/ld.so.conf

成功搞定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值