-
大小: 3.63MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-09-20
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
使用qt最為主線程的顯示框架,在子線程中使用opencv進(jìn)行圖像采集和圖像的保存

代碼片段和文件信息
#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();
????/*信號(hào)和槽*/
????connect(camthreadSIGNAL(sig_GetOneframe(QImage))thisSLOT(readFarme(QImage?)));
????//connect(timer?SIGNAL(timeout())?this?SLOT(readFarme()));??//?時(shí)間到,讀取當(dāng)前攝像頭信息
????connect(ui->open?SIGNAL(clicked())?this?SLOT(openCamara()));
????connect(ui->pic?SIGNAL(clicked())?this?SLOT(takingPictures()));
????connect(ui->closeCam?SIGNAL(clicked())?this?SLOT(closeCamara()));
}
/******************************
*********?打開(kāi)攝像頭?***********
*******************************/
void?camaraGet::openCamara()
{
????if(op==1)
????{
????????return?;
????}
????/*cam?=?cvCreateCameraCapture(0);//打開(kāi)攝像頭,從攝像頭中獲取視頻
????if(!cam)
????{
??????????QMessageBox::warning(this“Warning““Cameras?are?not?found.“);
????}
????timer->start(33);??????????????//?開(kāi)始計(jì)時(shí),超時(shí)則發(fā)出timeout()信號(hào)
????*/
????camthread->startPlay();
????op=1;
}
/*********************************
*********?讀取攝像頭信息?***********
**********************************/
void?camaraGet::readFarme(QImage?img)
{
????image=img;
???/*?frame?=?cvQueryframe(cam);//?從攝像頭中抓取并返回每一幀
????//?將抓取到的幀,轉(zhuǎn)換為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);//?從攝像頭中抓取并返回每一幀
????//?將抓取到的幀,轉(zhuǎn)換為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上
}
/*******************************
***關(guān)閉攝像頭,釋放資源,必須釋放***
********************************/
void?camaraGet::closeCamara()
{
????t
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????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
評(píng)論
共有 條評(píng)論