发布时间:2024-01-07 11:30
左上角显示摄像头下拉选项,右上角分别是打开摄像头、关闭摄像头、截图保存的功能,左下显示摄像头内容,右下显示截图图片
1、在工程文件中添加,QT += multimedia (多媒体),QT += multimediawidgets
2、主要用到的部件
3、获取摄像头信息
//读取所有摄像头信息
QList infos = QCameraInfo::availableCameras();
foreach(QCameraInfo info, infos){
qDebug()<comboBox->addItem(info.deviceName());
}
4、打开摄像头
QCameraViewfinder *vf;//摄像头取景器部件
void Camera::on_openCamera_clicked()
{
myCamera = new QCamera(ui->comboBox->currentText().toUtf8(), this);
//创建一个获取图片对象
cp = new QCameraImageCapture(myCamera);
//抓取图片的信号
connect(cp, &QCameraImageCapture::imageCaptured,this, &Camera::save_pic);
#if 0
QVideoWidget *w = new QVideoWidget(ui->widget);
w->resize(ui->widget->size());
myCamera->setViewfinder(w);
w->show();
#else
vf = new QCameraViewfinder(ui->widget);
vf->resize(ui->widget->size());
myCamera->setViewfinder(vf);
vf->show();
#endif
myCamera->start();
}
5、关闭摄像头
void Camera::on_closeCamera_clicked()
{
myCamera->stop();
vf->close();
}
6、抓拍 QCameraImageCapture
QCameraImageCapture *cp;//抓拍部件 关联槽函数 connect(cp, &QCameraImageCapture::imageCaptured,this, &Camera::save_pic);//抓取图片的信号
void Camera::on_captureBt_clicked()
{
//抓取一帧数据
cp->capture(\"./m.jpg\");
}
//保存图片槽函数
void Camera::save_pic(int id, const QImage &preview)
{
qDebug()<label_dis->size());
ui->label_dis->setPixmap(mmp);
}
qt自带库操作摄像头demo-C++文档类资源-CSDN下载
Lab: File path traversal, traversal sequences stripped non-recursively 文件路径遍历,遍历非递归过滤的语句
Verilog数字系统设计——任务和函数二(系统任务readmemb或readmemh)
5分钟掌握微信小程序 IntersectionObserver
动作识别阅读笔记(一)《Two-Stream Convolutional Networks for Action Recognition in Videos》
MindSpore报错 For primitive[TensorSummary], the v rank 必须大于等于0