#1 download
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.11/opencv-2.4.11.exe/download(我使用的版本)
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download
http://mirrors.hust.edu.cn/qtproject/archive/qt/5.5/5.5.0/qt-opensource-windows-x86-mingw492-5.5.0.exe(我使用的版本)
http://mirrors.hust.edu.cn/qtproject/archive/qt/5.5/5.5.0/qt-opensource-windows-x86-msvc2013_64-5.5.0.exe
opencv解压到指定目录:E:\opencv\ 。
安装好QT Creator(非VS)。
2 install cmake3.4.1 and Configure Configure
MinGW环境变量配置好。D:\Qt\Qt5.5.0\Tools\mingw492_32\bin加入到系统环境变量中。
一个是opencv的目录,一个是自己新建的Configure后存放二进制文件的目录E:/opencv/OpenCV_binaries(完了后要用相应的编译器来编译这些文件的)。
点击Configure按钮,选择编译器:MinxGW Makefiles
勾选生成列表中的WITH_OPENGL和WITH_QT两项
Configure再来一次:
然后逐一将红色的QT路径设置好,再Configure一次(第三次了)
终于好了,虽然中间出现了几个警告。
再点击Generate生成Makefile文件。
3 build with mingw32-make
上一步的OpenCV_binaries文件夹里面有了二进制文件:
接下来就是要用mingw32-make编译器编译库文件了。
打开DOS命令窗口,
cd OpenCV_binaries
mingw32-make
等待!
mingw32-make install
E:\OpenCV\OpenCV_binaries\install
目录下include、x64->mingw下的lib、bin这三个目录,就是我们在建立OpenCV工程时需要的库文件和头文件。
4 示例
将上一步编译好了的库文件和头文件单独拎出来放入自己建立的文件夹OpenCV2_4_11_MinGW中:
新建一个QT工程,工程配置文件.pro内容如下:
#-------------------------------------------------
# 这是release/debug版本,修改了.pro文件需qmake一下,然后再编译运行
# Project created by QtCreator 2015-12-20 T19:03:30
# -L指定文件夹路径,-l指定库的名称
#-------------------------------------------------
QT+=core
QT-=gui
TARGET=OpenCVTest
CONFIG+=console
CONFIG-=app_bundle
TEMPLATE=app
INCLUDEPATH+=E:\OpenCV2_4_11_MinGW\include
LIBS+=-LE:\\OpenCV2_4_11_MinGW\\bin\
libopencv_core2411\
libopencv_highgui2411\
libopencv_imgproc2411\
libopencv_features2d2411\
libopencv_calib3d2411\
#LIBS+=-LE:\\OpenCV2_4_11_MinGW\\bin\
#-llibopencv_core2411\
#-llibopencv_highgui2411\
#-llibopencv_imgproc2411\
#-llibopencv_features2d2411\
#-llibopencv_calib3d2411\
SOURCES+=main.cpp
#-------------------------------------------------
# 这是debug版本,要在库文件后面加个‘d’,记得qmake
# Project created by QtCreator 2015-12-20 T19:03:30
#
#-------------------------------------------------
QT+=core
QT-=gui
TARGET=OpenCVTest
CONFIG+=console
CONFIG-=app_bundle
TEMPLATE=app
INCLUDEPATH+=E:\OpenCV2_4_11_MinGW\include
LIBS+=-LE:\\OpenCV2_4_11_MinGW\\bin\
libopencv_core2411d\
libopencv_highgui2411d\
libopencv_imgproc2411d\
libopencv_features2d2411d\
libopencv_calib3d2411d\
SOURCES+=main.cpp
#-------------------------------------------------
# main.cpp
#-------------------------------------------------
#include <QDebug>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc,char* argv[])
{
qDebug()<<"readanimage";
//read an image
//这里也可以用相对路径,不过需要将图片放于可执行文件的目录下
cv::Matimage=cv::imread("E:/QT/OpenCV2_4_11/OpenCVTest/images/test.png");
if(!image.data){
qDebug()<<"图像尚未创建";
return -1;
}
qDebug()<<image.size().height;
//create image window named "Myimage"
cv::namedWindow("MyImage");
//show the image on window
cv::imshow("MyImage",image);
//waitkey for 5000 ms
cv::waitKey(10000);
return 0;
}
输出结果: