win7_64bits下QT试用openCV库(1)

博主QQ:1356438802

QQ群:473383394——UVC&OpenCV47




本文实验平台:win7_64bits + OpenCV 2.4.10 + QT Creator 3.4.1 + QT 5.4.2(MSVC 2013, 32bit)


一、 编译环境的搭建参考下面这篇文章



二、 测试例程
下载链接: http://pan.baidu.com/s/1nvNBgfv 密码:u04k
dialog.cpp
   
   
#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>
 
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
 
timer = new QTimer(this);
 
qDebug() << "3333333333333333\n";
 
}
 
Dialog::~Dialog()
{
 
timer->stop();
delete timer;
 
cvReleaseCapture(&capture);
 
 
delete ui;
}
 
void Dialog::on_BtnOpen_clicked()
{
capture = cvCaptureFromCAM(0);
if(NULL == capture)
{
qDebug() << "open camera failed!\n";
return;
}
 
timer->start(50); //50毫秒取一帧图片
 
//50ms超时,就去取图片帧
connect(timer, SIGNAL(timeout()), this, SLOT(getFrame()));
}
 
void Dialog::getFrame()
{
frame = cvQueryFrame(capture); //取图片帧
 
//将图片转换为Image对象,rgbSwapped是为了显示效果色彩好一些。
QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height, QImage::Format_RGB888).rgbSwapped();
 
ui->label->setPixmap(QPixmap::fromImage(image));
}
 
void Dialog::on_pushButton_clicked()
{
 
}

三、 编译问题

首先确定你使用的是哪个编译链及其版本号,我前一篇文章主要讲的是Opencv-MinGW-lib怎么编译生成,而这篇文章的案例实际上用MSVC-lib和MinGW-lib都可以编译!

1. 可以在.pro文件中,自适应编译链:
#MSVC
win32-msvc* {

message("win32-msvc include opencv INCLUDE and LIBS")
INCLUDEPATH+=   $$PROJECT_DIR\include\opencv\
                $$PROJECT_DIR\include\opencv2\
                $$PROJECT_DIR\include

LIBS+=	$$PROJECT_LIBDIR\opencv_calib3d2410d.lib\
        $$PROJECT_LIBDIR\opencv_contrib2410d.lib\
        $$PROJECT_LIBDIR\opencv_core2410d.lib\
        $$PROJECT_LIBDIR\opencv_features2d2410d.lib\
        $$PROJECT_LIBDIR\opencv_flann2410d.lib\
        $$PROJECT_LIBDIR\opencv_gpu2410d.lib\
        $$PROJECT_LIBDIR\opencv_highgui2410d.lib\
        $$PROJECT_LIBDIR\opencv_imgproc2410d.lib\
        $$PROJECT_LIBDIR\opencv_legacy2410d.lib\
        $$PROJECT_LIBDIR\opencv_ml2410d.lib\
        $$PROJECT_LIBDIR\opencv_objdetect2410d.lib\
        $$PROJECT_LIBDIR\opencv_video2410d.lib\
        $$PROJECT_LIBDIR\opencv_nonfree2410d.lib\
        $$PROJECT_LIBDIR\opencv_stitching2410d.lib\
        $$PROJECT_LIBDIR\opencv_ts2410d.lib\
        $$PROJECT_LIBDIR\opencv_videostab2410d.lib\
        $$PROJECT_LIBDIR\opencv_ocl2410d.lib\
        $$PROJECT_LIBDIR\opencv_photo2410d.lib\
        $$PROJECT_LIBDIR\opencv_superres2410d.lib
}


#MinGW
win32-g++ {
message("win32-mingw include opencv INCLUDE and LIBS")
INCLUDEPATH+=   D:\openCV_2.4.10\for_minGW_qt486_x64\include\opencv\
                D:\openCV_2.4.10\for_minGW_qt486_x64\include\opencv2\
                D:\openCV_2.4.10\for_minGW_qt486_x64\include


LIBS+=	D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_calib3d2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_contrib2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_core2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_features2d2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_flann2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_gpu2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_highgui2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_imgproc2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_legacy2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_ml2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_objdetect2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_video2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_nonfree2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_stitching2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_ts2410.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_videostab2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_ocl2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_photo2410.dll.a\
        D:\openCV_2.4.10\for_minGW_qt486_x64\lib\libopencv_superres2410.dll.a

}


2. MinGW编译链配置



3. MSVC编译链配置




对于MSVC-lib,特别注意要在openCV中找到对应版本的lib 和 bin,一定要注意这个,否则作死都编译不过去。
VisualStudio的版本编号和MSVC编译器的版本编号是不同的!我这里安装VisuaoStudio时装的是VC11-x86编译器,所以opencv lib选择如下:



最后pro文件要写好,否则编译的时候头文件找不到,或者链接的时候找不到库文件(环境变量没设置)。

有问题可以联系我QQ:1356438802


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值