>  기사  >  데이터 베이스  >  QT5.2+vs2012+opencv2.4.7环境配置

QT5.2+vs2012+opencv2.4.7环境配置

WBOY
WBOY원래의
2016-06-07 15:20:491356검색

如果你安装的是使用Microsoft Visual Studio编译器的Qt(例如我安装的这个Qt,安装包文件名为:qt-windows-opensource-5.2.0- msvc 2012-x86-offline.exe),则不需要网传的对OpenCV进行编译的这个麻烦过程,直接利用VS的预编译文件即可。 需要注意的一点是Q

如果你安装的是使用Microsoft Visual Studio编译器的Qt(例如我安装的这个Qt,安装包文件名为:qt-windows-opensource-5.2.0-msvc2012-x86-offline.exe),则不需要网传的对OpenCV进行编译的这个麻烦过程,直接利用VS的预编译文件即可。

需要注意的一点是Qt不支持Visual Studio Express版。另外你最好先在Visual Studio下完成OpenCV简单demo的编译(参看我之前的博文),确保OpenCV环境设置正确。

使用Qt Creator这个IDE而不是VS的好处在于Qt Creator能够非常方便地调用所有Qt的组件,而且更加轻量级、启动也很快速,开发跨平台应用时也更加方便(主流平台下都有Qt Creator,而只有Windows才有Visual Studio)。

Qt程序的项目配置文件保存在.pro文件里,类似于VS2012中所配置的,Qt也没有“全局”的INCLUDE和LIB(库)路径的修改功能,而是通过对pro文件的改动来配置编译时需要包含的路径和库文件。

在Qt Creator里,新建一个项目,Qt控制台应用就可以了。然后在“编辑”面板里打开项目的pro文件,如下图所示:

QT5.2+vs2012+opencv2.4.7环境配置

添加下面几行:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

INCLUDEPATH += D:/openCV_build/include

 

win32:CONFIG(debug, debug|release): {

LIBS += -LD:/openCV_build/x86/vc11/lib \

-lopencv_core247d \

-lopencv_imgproc247d \

-lopencv_highgui247d \

-lopencv_ml247d \

-lopencv_video247d \

-lopencv_features2d247d \

-lopencv_calib3d247d \

-lopencv_objdetect247d \

-lopencv_contrib247d \

-lopencv_legacy247d \

-lopencv_flann247d

} else:win32:CONFIG(release, debug|release): {

LIBS += -LD:/openCV_build/x86/vc11/lib \

-lopencv_core247 \

-lopencv_imgproc247 \

-lopencv_highgui247 \

-lopencv_ml247 \

-lopencv_video247 \

-lopencv_features2d247 \

-lopencv_calib3d247 \

-lopencv_objdetect247 \

-lopencv_contrib247 \

-lopencv_legacy247 \

-lopencv_flann247

}

路径使用斜杠(/)而不是反斜杠(\),INCLUDEPATH是项目编译时会包含的头文件目录,后面加上的是OpenCV预编译文件的include(这里的路径和我之前那篇Visual Studio 2012配置OpenCV环境的是一样的),LIBS则是编译时需要链接的文件,-L后紧跟的是目录,-l后则紧跟对应的动态链接,和VS中不太一样的是不用写出完整的文件名(没有后面的.lib后缀),和VS2012中类似的则是这里通过CONFIG来确认编译类型是debug还是release来使用debug链接或release链接。前面用win32则保证这些链接仅在Windows下编译时被链接器链接。

前面几行的末尾的反斜杠是用来把一行内容分成多行写(类似C++的语法),这样做的目的主要是清晰易读,不必写一行超长的语句。

pro文件修改完成后保存,回到main.cpp文件里,一个简单的OpenCV demo内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include <opencv2></opencv2>

using namespace cv;

int main()

{

    Mat img = imread("D:/demo.png");

    if (img.empty())

    {

        fprintf(stderr, "Error: load image failed.");

        return -1;

    }

    namedWindow("image", CV_WINDOW_AUTOSIZE);

    imshow("image", img);

    waitKey();

    return 0;

}

它会载入D:/demo.png这个图片文件,你可能需要进行一些改动以便让该demo顺利运行。另外之前改动了pro文件,但是Qt Creator很可能认为项目配置没有变化,因此不会自动重新运行qmake,需要手动运行一次以免出现“LNK 2019”链接错误或者找不到包含目录的错误。“构建->执行qmake”,然后再“构建->重新构建项目”。以后没有改动pro的话,就不需要执行qmake了,直接点左侧面板上那个榔头(Ctrl+B)构建项目就可以了,绿色三角形(Ctrl+R)运行程序,绿色三角形带虫子(F5)调试程序。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.