标签:style http color 使用 os 文件 数据 for
之前在QT creator上成功编译了opencv,由于课题需要,需要采集摄像头的信息。故搜集了网上的一些资料,依葫芦画瓢的照着做了一下,终于简单的成功采集了信息。
打开QTcreator,新建一个widget工程。
在界面上放两个label 分别用来显示摄像头采集到的数据和照的照片。
在widget.h中的源代码如下:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QImage>
#include <QTimer> //设置采集数据的间隔时间
#include <highgui.h>
#include <cv.h>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void openCamara(); //打开时摄像头
void readFarme(); //读取当前帧信息
void closeCamara();//关闭摄像头
void takingPictures(); //拍照
private:
Ui::Widget *ui;
QTimer *timer;
QImage *imag;
CvCapture *cam;//视频获取结构,用来作为视频获取函数的一个参数
IplImage *frame;//申请IplImage类型指针,就是申请内存空间来存放每一帧图像
};
#endif // WIDGET_H
在widget.cpp中的源文件如下:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
cam=NULL;
timer=new QTimer(this);
imag=new QImage();
connect(timer,SIGNAL(timeout()),this,SLOT(readFarme()));
connect(ui->open,SIGNAL(clicked()),this,SLOT(openCamara()));
connect(ui->pic,SIGNAL(clicked()),this,SLOT(takingPictures()));
connect(ui->close,SIGNAL(clicked()),this,SLOT(closeCamara()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::openCamara()
{
cam=cvCreateCameraCapture(0);
timer->start(33);
}
void Widget::readFarme()
{
frame=cvQueryFrame(cam);
// QImage imag((const uchar*)frame->imageData,frame->width,frame->height,QImage::Format_RGB888);
QImage imag=QImage((const uchar*)frame->imageData,frame->width,frame->height,QImage::Format_RGB888).rgbSwapped();
ui->label->setPixmap(QPixmap::fromImage(imag));
}
void Widget::closeCamara()
{
timer->stop();
cvReleaseCapture(&cam);//释放内存;
}
void Widget::takingPictures()
{
frame = cvQueryFrame(cam);
QImage imag((const uchar*)frame->imageData, frame->width, frame->height, QImage::Format_RGB888);
ui->label_2->setPixmap(QPixmap::fromImage(imag));
}
好了,全部代码都OK了。
(大致思路是:点击打开摄像头按钮,则开启摄像头,并设置一个定时器,每隔一段时间捕获摄像头摄取到的帧,将其转换成QImage,最最后在QLabel控件上显示)
QT creator中使用opencv采集摄像头信息,布布扣,bubuko.com
标签:style http color 使用 os 文件 数据 for
原文地址:http://www.cnblogs.com/yibanshouxi/p/3910871.html