QT调用windows摄像头
QT 关于window摄像头的一些描述的类
my_cam = new QCamera(this);//添加显示界面
my_cam->setCaptureMode(QCamera::CaptureVideo);//设置摄像头捕获模式
my_cam->setViewfinder(ui->widget);//设置取景器
my_cam->start();//启动摄像头
QCameraImg = new QCameraImageCapture(my_cam);//截取图像
QObject::connect(QCameraImg, &QCameraImageCapture::imageCaptured, this, &MainWindow::displayImage);//触发的信号为捕获一张图片
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::displayImage(int id, QImage image)
{
ui->label->setPixmap(QPixmap::fromImage(image));//将捕获的图片映射到label中
}
void MainWindow::on_pushButton_clicked()
{
/*拍照按钮槽*/
QCameraImg->capture();//拍照获取一帧
}
void MainWindow::on_pushButton_2_clicked()
{
/*保存照片*/
const QPixmap *pixmap = ui->label->pixmap();
if(pixmap)
pixmap->save("E:\qt_img\\img.png");
else
qDebug()<<"qwe";
}
值得注意的是:要想将图片保存之前需用label控件进行承载拍照的图片
mainwind.h 截图
附加UI截图