qt creator+配置opencv项目

方法一:

Debug模式和release模式都包括了

x64位系统下,32位系统的话路径那里把x64改为x86

选择x64还是x86和项目中构建目录下的_MSVC2013_OpenGL_64bit有关系,
这是开始创建控制台应用时自己选择的选项

在.pro文件的末尾添加以下内容:

INCLUDEPATH += D:\opencv-2.4.9\opencv\build\include


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

LIBS += -LD:\opencv-2.4.9\opencv\build\x64\vc12\lib \
-lopencv_core249d \
-lopencv_imgproc249d \
-lopencv_highgui249d \
-lopencv_ml249d \
-lopencv_video249d \
-lopencv_features2d249d \
-lopencv_calib3d249d \
-lopencv_objdetect249d \
-lopencv_contrib249d \
-lopencv_legacy249d \
-lopencv_flann249d
} else:win32:CONFIG(release, debug|release): {
LIBS += -LD:\opencv-2.4.9\opencv\build\x64\vc12\lib \
-lopencv_core249 \
-lopencv_imgproc249 \
-lopencv_highgui249 \
-lopencv_ml249 \
-lopencv_video249 \
-lopencv_features2d249 \
-lopencv_calib3d249 \
-lopencv_objdetect249 \
-lopencv_contrib249 \
-lopencv_legacy249 \
-lopencv_flann249


修改.pro文件之后,需要手动qmake一下,具体操作为:qt creator顶端菜单栏-构建-执行qmake,
然后再 构建-重新构建项目

以后没有改动pro的话,就不需要执行qmake了,直接点左侧面板上那个榔头(Ctrl+B)构建项目就可以,绿色三角形(Ctrl+R)运行程序,绿色三角形带虫子(F5)调试程序。

备注:关于以上添加内容的解释:

路径使用斜杠(/)而不是反斜杠(\),使用反斜杠的话需要写两个(\\)

INCLUDEPATH是项目编译时会包含的头文件目录

LIBS是编译时需要链接的文件,即附加依赖项,-L后紧跟的是目录,-l后则紧跟对应的动态链接,和VS中不太一样的是不用写出完整的文件名(没有后面的.lib后缀),这里通过CONFIG来确认编译类型是debug还是release从而使用对应链接。前面用win32则保证这些链接仅在Windows下编译时被链接器链接。

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

以上参考:https://www.librehat.com/qt-5-2-vs2012-opencv-2-4-7-dev-environment-setup-tutorial/


一个简单的Opencv demo程序如下,添加在源文件-main.cpp中:


#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>


int main()
{
    cv::Mat image=cv::imread("C:/Users/Cola/Desktop/qt_test/test2/2.jpg");
    if(!image.data)
    {std::cout<<"load image error!"<<std::endl;}
    cv::namedWindow("My");
    cv::imshow("My",image);
    cv::waitKey(0);
    return 1;
}


注意qt creator中imread图片需要绝对路径(即图片所在位置的全部路径,写相对路径会找不到图片);
如果是gui程序的话也许可以放在资源文件里再用相对路径,未测试。


方法二:


在.pro文件内容中添加(Debug模式):


INCLUDEPATH+=D:\opencv-2.4.9\opencv\build\include\opencv \
                    D:\opencv-2.4.9\opencv\build\include\opencv2 \
                   D:\opencv-2.4.9\opencv\build\include
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_ml249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_calib3d249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_contrib249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_core249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_features2d249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_flann249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_gpu249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_highgui249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_imgproc249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_legacy249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_objdetect249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_ts249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_video249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_nonfree249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_ocl249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_photo249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_stitching249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_superres249d.lib
LIBS+=D:\opencv-2.4.9\opencv\build\x64\vc12\lib\opencv_videostab249d.lib


下面内容在知乎上看到的,关于初学者如何入门qt的问题,先记下来了

main.cpp 


#include QApplication
#include QMainWindow


int main(int argc, char argv[])
{
    QApplication app(argc, argv);
    QMainWindow mw;
    mw.show();
    app.exec();
}
>qmake -project
>qmake 
>make


把这段代码背下来,然后到各个OS下编译 运行,感受下Qt带来的美感,
还有什么其他框架能做到这么简洁高效的编程体验呢?(仅限C++语言)。
无论学什么,都要从喜欢开始,你会爱上Qt的,有了爱其他都不是问题了。


链接: httpswww.zhihu.comquestion20165899answer24853524
来源:知乎


入门的话三篇参考网址链接:
http://blog.csdn.net/tennysonsky/article/details/48004119
https://www.librehat.com/qt-5-2-vs2012-opencv-2-4-7-dev-environment-setup-tutorial/
http://blog.csdn.net/u012234115/article/details/41871449

猜你喜欢

转载自blog.csdn.net/lingkele/article/details/79488073