網上的教程說的都是mingw編輯器的qt版本,所以需要重新編譯opencv
其實使用MSVC編輯器的話,可以直接調用。
只需要在pro文件裏進行配置即可:
在pro寫上:
#-------------------------------------------------# # Project created by QtCreator 2015-06-02T18:30:52 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = charLoc TEMPLATE = app SOURCES += main.cpp\ widget.cpp HEADERS += widget.h FORMS += widget.ui INCLUDEPATH +=C:\opencv\build\include INCLUDEPATH +=C:\opencv\build\include\opencv INCLUDEPATH +=C:\opencv\build\include\opencv2 CONFIG +=qt warn_on release CONFIG(release,debug|release) { LIBS+=C:\opencv\build\x86\vc12\lib\opencv_videostab2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_video2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_ts2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_superres2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_stitching2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_photo2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_ocl2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_objdetect2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_nonfree2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_ml2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_legacy2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_imgproc2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_highgui2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_gpu2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_flann2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_calib3d2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_features2d2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_core2410.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_contrib2410.lib } CONFIG(debug,debug|release){ LIBS+=C:\opencv\build\x86\vc12\lib\opencv_videostab2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_video2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_ts2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_superres2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_stitching2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_photo2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_ocl2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_objdetect2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_nonfree2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_ml2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_legacy2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_imgproc2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_highgui2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_gpu2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_flann2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_calib3d2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_features2d2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_core2410d.lib LIBS+=C:\opencv\build\x86\vc12\lib\opencv_contrib2410d.lib } 在mian函數裏面: #include "widget.h"#include <QApplication> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <QDebug> using namespace cv; int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); Mat image= imread("D:/1.bmp",0); if(!image.empty()) { qDebug()<<"iscc"; imwrite("D:/1_2.bmp",image); } else { qDebug()<<"is error"; } return a.exec(); }
在使用過程中,有時候配置都正確,但是就是編譯不通過,
其實只需要把debug和release編譯的臨時文件全部刪除,重新編譯即可
下面直接把整個工程放出來