Qt中配置OpenCV库的另类方法

来源:互联网 发布:娃娃幼儿园软件 编辑:程序博客网 时间:2024/06/04 19:01

一、Qt与OpenCV版本

1、Qt版本:

Qt中配置OpenCV库的另类方法

图1 Qt版本

2、OpenCV版本:

Qt中配置OpenCV库的另类方法

图2 OpenCV版本

二、配置步骤

以下是两种常见的Qt+OpenCV的环境配置:

1、第一种方法:通过C-Make工具对OpenCV库进行Configure和Generate,在用mingw32-make命令在c-make的build目录进行编译;

2、第二种方法:通过在Qt Creator这个IDE中结合c-make对OpenCV库进行编译。

以上两种常见的Qt+OpenCV的环境配置方法在网上均有详细的讲解,就不在这里做过多的阐述。

以下是另类的方法:

原理:因为在Qt中添加OpenCV库,是使用的编译后的文件夹,所以可以直接把编译后的文件夹拷贝过来,就可以在Qt中添加OpenCV库。

步骤:

①拷贝编译过后的OpenCV库:

Qt中配置OpenCV库的另类方法

图3 编译过后的OpenCV3的文件夹

②添加环境变量:

应在系统环境变量Path中添加的路径为:%OpenCVCmaked%†mingwin

注:%OpenCVCmaked%为拷贝过来的文件路径

③在Qt中引入OpenCV库:

INCLUDEPATH+=%OpenCVCmaked%/include/opencv

%OpenCVCmaked%/include/opencv2

%OpenCVCmaked%/include

LIBS += -L %OpenCVCmaked%x86/mingw/lib/libopencv_*.a

注:%OpenCVCmaked%为拷贝过来的文件路径

④测试是否配置成功:

测试代码一:

#include <QtWidgets/QApplication>

#include"cv.h"

#include"highgui.h"

int main(int argc, char *argv[])

{

//QApplication a(argc, argv);

IplImage* pImg; //声明IplImage指针

pImg=cvLoadImage("H:/1.jpg",1); //载入图像

cvNamedWindow( "Image", 1 );//创建窗口

cvShowImage( "Image", pImg );//显示图像

cvWaitKey(0); //等待按键

cvDestroyWindow( "Image" );//销毁窗口

cvReleaseImage( &pImg ); //释放图像

return 0;

//return a.exec();

}

测试代码二:

#include "MyWidget.h"

#include<QApplication>

MyWidget::MyWidget(QWidget *parent) : QWidget(parent)

{

}

#include<iostream>

#include<opencv2/core/core.hpp>

#include<opencv2/highgui/highgui.hpp>

using namespace cv;

using namespace std;

int main(int argc, char *argv[])

{

Mat srcImageVec,srcImage;

srcImage=imread("H:/1.jpg");

namedWindow("Image");

imshow("Image",srcImage);

waitKey(0);

return 0;

}