如果你安装的是使用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文件,如下图所示:
添加下面几行:
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/opencv.hpp>
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)调试程序。