用QCamera读取摄像头图像并显示到QLabel上的代码示例
时间: 2023-04-05 14:00:33 浏览: 182
以下是示例代码:
```cpp
#include <QCamera>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QVBoxLayout>
#include <QLabel>
// 创建一个QCamera对象
QCamera *camera = new QCamera(this);
// 创建一个QCameraViewfinder对象
QCameraViewfinder *viewfinder = new QCameraViewfinder(this);
// 创建一个QCameraImageCapture对象
QCameraImageCapture *imageCapture = new QCameraImageCapture(camera);
// 设置QCameraViewfinder作为QCamera的视图finder
camera->setViewfinder(viewfinder);
// 创建一个QVBoxLayout对象
QVBoxLayout *layout = new QVBoxLayout;
// 创建一个QLabel对象
QLabel *label = new QLabel(this);
// 将QCameraViewfinder添加到QVBoxLayout中
layout->addWidget(viewfinder);
// 将QLabel添加到QVBoxLayout中
layout->addWidget(label);
// 设置布局
setLayout(layout);
// 开始摄像头
camera->start();
// 拍照并将图像显示到QLabel上
connect(imageCapture, &QCameraImageCapture::imageCaptured, [=](int id, const QImage &image) {
label->setPixmap(QPixmap::fromImage(image));
});
// 拍照
imageCapture->capture();
```
以上代码可以实现用QCamera读取摄像头图像并显示到QLabel上。
阅读全文