• 大小: 3.63MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: 其他
  • 标签:

资源简介

使用qt最为主线程的显示框架,在子线程中使用opencv进行图像采集和图像的保存

资源截图

代码片段和文件信息

#include “camaraget.h“
#include “ui_camaraGet.h“

camaraGet::camaraGet(QWidget *parent) :
    QWidget(parent)
    ui(new Ui::camaraGet)
{
    ui->setupUi(this);
    op=0;
    ui->label->setScaledContents(true);
    ui->label_2->setScaledContents(true);

    camthread=new Camthread();
    /*信号和槽*/
    connect(camthreadSIGNAL(sig_GetOneframe(QImage))thisSLOT(readFarme(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->closeCam SIGNAL(clicked()) this SLOT(closeCamara()));
}

/******************************
********* 打开摄像头 ***********
*******************************/
void camaraGet::openCamara()
{

    if(op==1)
    {
        return ;
    }
    /*cam = cvCreateCameraCapture(0);//打开摄像头,从摄像头中获取视频
    if(!cam)
    {

          QMessageBox::warning(this“Warning““Cameras are not found.“);

    }
    timer->start(33);              // 开始计时,超时则发出timeout()信号
    */
    camthread->startPlay();
    op=1;
}

/*********************************
********* 读取摄像头信息 ***********
**********************************/
void camaraGet::readFarme(QImage img)
{
    image=img;
   /* frame = cvQueryframe(cam);// 从摄像头中抓取并返回每一帧
    // 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
   // QImage image((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888);
    QImage image = QImage((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888).rgbSwapped();
    */
    if(op==1)
    {
    ui->label->setPixmap(QPixmap::fromImage(image));  // 将图片显示到label上
    }
}

/*************************
********* 拍照 ***********
**************************/
void camaraGet::takingPictures()
{
    //frame = cvQueryframe(cam);// 从摄像头中抓取并返回每一帧
    // 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
    //QImage image((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888);
    //QImage image = QImage((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888).rgbSwapped();
    op=0;
    QString filename = QFileDialog::getSaveFileName(thistr(“action“)
                       “/“
                        “Image file(*.bmp *.jpg)“0) ;
    if (!filename.isEmpty())

         //  qDebug()<        //   cvSaveImage(“100.bmp“capframe);
         if(!image.save(filename))
              QMessageBox::information(this
                          tr(“Warnning“)
                          tr(“Failed to save the image!“));
            op=1;
    // QImage image=QImage(filename);
   // frame=cvLoadImage((filename.toLatin1()).data());
    //ui->CameraLabel->setPixmap(QPixmap::fromImage(image));

    ui->label_2->setPixmap(QPixmap::fromImage(image));  // 将图片显示到label上
}

/*******************************
***关闭摄像头,释放资源,必须释放***
********************************/
void camaraGet::closeCamara()
{

    t

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        731  2017-05-07 19:35  paizhao\camaraget.h

     文件       8212  2017-05-07 19:36  paizhao\moc_camaraget.o

     文件        791  2017-05-07 20:19  paizhao\camthread.h

     文件       1784  2017-05-07 20:21  paizhao\camthread.cpp

     文件       3391  2017-05-07 20:57  paizhao\camaraget.cpp

     文件    3792906  2017-05-07 20:23  paizhao\Video from CAMERA.avi

     文件       3073  2017-05-07 19:36  paizhao\moc_camaraget.cpp

     文件      10196  2017-05-07 20:57  paizhao\camaraget.o

     文件      36584  2017-05-07 20:57  paizhao\paizhao

     文件       3149  2017-05-07 20:21  paizhao\moc_camthread.cpp

     文件       5052  2017-05-07 20:21  paizhao\moc_camthread.o

     文件        355  2017-05-07 17:16  paizhao\paizhao.pro

     文件       1803  2016-04-27 11:25  paizhao\camaraGet.ui

     文件       8805  2017-05-07 19:17  paizhao\Makefile

     文件        180  2016-04-27 11:19  paizhao\main.cpp

     文件      27221  2017-05-07 21:01  paizhao\paizhao.pro.user

     文件       2088  2017-05-07 19:35  paizhao\main.o

     文件       4324  2017-05-07 20:21  paizhao\camthread.o

     文件       2744  2016-04-27 11:25  paizhao\ui_camaraGet.h

     目录          0  2017-05-07 21:01  paizhao

----------- ---------  ---------- -----  ----

              3913389                    20


评论

共有 条评论

相关资源