资源简介
该工程可实现ubuntu下视频的采集显示,并可以控制拍照
所用环境 ubuntu12.04+Qtcreator2.7.1+Qtlib4.8.4+opencv2.4.5
拍照文件保存路径为/home/administrator/
保存名称image.bmp
代码片段和文件信息
#include “widget.h“
#include “ui_camaraget.h“
#include “camaraget.h“
# include “rec.h“
camaraGet::camaraGet(QWidget *parent) :
QWidget(parent)
ui(new Ui::camaraGet)
{
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->closeCam SIGNAL(clicked()) this SLOT(closeCamara()));
}
/******************************
********* 打开摄像头 ***********
*******************************/
void camaraGet::openCamara()
{
cam = cvCreateCameraCapture(-1);//打开摄像头,从摄像头中获取视频
timer->start(33); // 开始计时,超时则发出timeout()信号
}
/*********************************
********* 读取摄像头信息 ***********
**********************************/
void camaraGet::readFarme()
{
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();
ui->label->setPixmap(QPixmap::fromImage(image)); // 将图片显示到label上
//
}
/*************************
********* 拍照 ***********
**************************/
void camaraGet::takingPictures()
{
frame1 = cvCloneImage(frame);// 从摄像头中抓取并返回每一帧
frame_temp =cvCloneImage(frame1);
// 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
QImage image = QImage((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888).rgbSwapped();
ui->label_2->setPixmap(QPixmap::fromImage(image)); // 将图片显示到label上
image.save(“/home/administrator/image.bmp“);
}
/*******************************
***关闭摄像头,释放资源,必须释放***
********************************/
void camaraGet::closeCamara()
{
timer->stop(); // 停止读取数据。
cvReleaseCapture(&cam);//释放内存;
exit(0);
}
camaraGet::~camaraGet()
{
delete ui;
}
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- ubuntu9.10 可加载内核模块和字符设备驱
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Ubuntu安装时磁盘分区图文教程
- Qt 读取16进制的data文件
- opencv环境配置
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- win10 64位下编译的opencv4.5.5库,opencv
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- 周立功PCI CAN卡LINUX驱动ubuntu16.04内核
- 无法进入桌面ubuntu18.04
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
评论
共有 条评论