安装cmake 和opencv并在Qt中使用opencv(linux-pc环境)
安装 cmake
1.下载源码包
2.解压cmake源码包,进入目录
(1)./configure
(2)make
(3)make install
-------------------------------------------------------------------------------割----------------------------------------------------------------------------------------------------
安装opencv-2.4.6.1
如果需要通过opencv的库函数建立窗口就需要安装一个GUI框架,比如libgtk2.0-dev,如果使用Qt的窗口界面就可以不安装gtk
如果需要处理视频要先安装ffmpeg,并安装pkg-config。查看CmakeLists.txt文件可知,cmake使用pkg-config获取所需的库文件的信息
/*
pkg-config 是一个库文件安装信息管理工具,它可以返回已安装的库文件及其相关头文件的位置信息。安装这个极容易,自己下载安装把。
pkg-config 通过各个库文件的.pc 文件识别已安装的库文件的信息,这些.pc文件是由各库的安装程序自己生成的,例如ffmpeg 安装程序会在/usr/local/lib/pkgconfig目录下提供libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。
但pkg-confg默认只搜索/usr/lib/pkgconfig目录,去寻找.pc文件,这里需要添加一个环境变量 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,使得pkg-config可以找到ffmpeg的安装信息。
*/
(1)解压opencv源码包
(2)进入目录
(3)mkdir build
(4)cd build
(5)cmake ../ (注:CMakeList.txt在上层目录)
(6)make
(7)make install
(8)将库路径添加进系统环境变量(注:因为我的pc中 /etc/ld.so.conf.d目录中的某文件中已经包含了opencv库路径,所以只需要使用ldconfig命令刷新一下系统库就可以了)
---------------------------------------------------------------------------------------割-----------------------------------------------------------------------------------------------
在Qt中使用opencv
(1)pro文件加入:
INCLUDEPATH += /usr/local/include/opencv2/
LIBS += -L /usr/local/lib/ -lopencv_highgui
(2)cpp代码如下
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include "opencv.hpp"
#include <QImage>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
IplImage *img=cvLoadImage("/root/Qtworkspace/TestOpenCv/lena.jpg",CV_LOAD_IMAGE_COLOR);
if(!img)
{
qDebug()<<"img invild";
return;
}
QImage image=QImage((const uchar*)img->imageData, img->width, img->height, QImage::Format_RGB888).rgbSwapped();//rgbSwapped()用于转换QImage对象从RGB->BGR
ui->label->setPixmap(QPixmap::fromImage(image));
}
MainWindow::~MainWindow()
{
delete ui;
}
(3)运行结果:
(4)搞定
更多推荐
所有评论(0)