建議搭配視頻食用:
【【QT】QT調(diào)用電腦攝像頭并拍照】 https://www.bilibili.com/video/BV1pc411G7qy/?share_source=copy_web&vd_source=c0d9dd4e64b88e4dbf93ac009c2010dc
一、在pro文件中添加‘multimedia multimediawidgets’
二、在ui界面創(chuàng)建一個widget并改名為camera用于展示攝像頭內(nèi)容和pushbutton 用于拍照,并右鍵pushbutton點擊轉(zhuǎn)到槽備用
三、對.h文件的操作
添加頭文件文章來源:http://www.zghlxwxcb.cn/news/detail-521129.html
//攝像頭
#include <QCameraImageCapture>
#include <QCamera>
?在private中創(chuàng)建兩個攝像頭對象
//創(chuàng)建兩個攝像頭對象
QCamera *ca;
QCameraImageCapture *capture;
四、對.cpp文件的操作
添加頭文件
//調(diào)用攝像頭
#include <QCameraInfo>
#include <QCamera>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QPixmap>
//彈窗
#include <QMessageBox>
?編寫調(diào)用攝像頭代碼
//獲取可用攝像頭設(shè)備并輸出在控制臺
QList<QCameraInfo> infos = QCameraInfo::availableCameras();
qDebug() << infos.value(0).deviceName() << ":" <<infos.value(0).description();
QString camera = infos.value(0).deviceName();
qDebug() << camera;
//顯示攝像頭
ca =new QCamera(camera.toUtf8() ,this );
ui->camera->show();
QCameraViewfinder *v2 = new QCameraViewfinder(ui->camera);
v2->resize(ui->camera->size());
ca->setViewfinder(v2);
v2->show();
ca->start();
編寫點擊按鈕時的拍照代碼
//截取用戶打卡時的圖片
capture = new QCameraImageCapture(ca);
capture->capture("E://你的文件夾//命名.jpg");
QMessageBox::information(this, "good", "good!");
五、最后運行
補檔
如何讓每次截圖照片文件的命名不一樣
解決方法:每次截圖時加上時間做以區(qū)分,代碼如下
添加頭文件
#include <QDateTime>
將點擊事件函數(shù)改為如下格式文章來源地址http://www.zghlxwxcb.cn/news/detail-521129.html
void MainWindow::on_pushButton_clicked()
{
//截取用戶打卡時的圖片
capture = new QCameraImageCapture(ca);
QDateTime time = QDateTime::currentDateTime();//獲取當前時間
QString nameseed = time.toString("yy-MM-dd hh-mm-ss");//將當前時間格式化,注意:時分秒之間不能用:連接,因為文件命名時不可以使用:
capture->capture("E://RuanJianGongCheng//capture//"+ nameseed +".jpg");
QMessageBox::information(this, "good", "good!!!");
}
到了這里,關(guān)于【QT】QT調(diào)用電腦攝像頭并拍照的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!