安装cmake 和opencv并在Qt中使用opencv(linux-pc环境)

时间:2022-06-06 19:42:12

安装 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)运行结果:

安装cmake 和opencv并在Qt中使用opencv(linux-pc环境)

(4)搞定