天天操夜夜爱_天天插天天操天天干_黄色av地址_成人黄色在线观看_国内久久久久久_欧美国产日韩一区二区三区_国产精品久久久久久久久晋中

win10系統電腦攝像頭

發布時間: 2023-04-16 13:06 閱讀: 文章來源:轉載

在pro中加入兩個qmake: QT += multimedia QT += multimediawidgets

頭文件

#include //導入攝像頭類#include //攝像頭信息類#include //取景器類#include //捕獲類#include //攝像頭設置類QList list;list = QCameraInfo::availableCameras(); //返回攝像頭信息列表qDebug()<setCaptureMode(QCamera::CaptureStillImage);//設置捕獲模式/*QCamera::CaptureStillImage=0x01捕捉靜止幀QCamera::CaptureViewfinder=0僅配置為顯示取景器QCamera::CaptureVideo=0x02配置為視頻捕獲*/int cm=camera->captureMode(); //返回當前捕獲模式qDebug()<<"當前捕獲模式"<isCaptureModeSupported(QCamera::CaptureStillImage);//是否支持指定的模式qDebug()<

實例一

win.h

QT開發交流+貲料君羊:714620761

#ifndef WIN_H#define WIN_H#include #include #include #include #include #include #include class win : public QWidget{Q_OBJECTpublic:win(QWidget *parent = nullptr);~win();private:QCamera *camera; //攝像頭對象QCameraViewfinder *viewfinder;//取景器QCameraImageCapture *imageCapture;//捕獲對象QPushButton* buttonCapture;QLabel* ImageCapture;private slots:void captureImage();void displayImage(int,QImage);};#endif // WIN_H
#include "win.h"win::win(QWidget *parent): QWidget(parent){buttonCapture=new QPushButton("捕獲",this);buttonCapture->move(700,400);ImageCapture=new QLabel("顯示圖片",this);ImageCapture->resize(320,240);ImageCapture->move(700,0);camera=new QCamera(this);viewfinder=new QCameraViewfinder(this);//創建取景器//取景器用來預覽viewfinder->resize(640,480);viewfinder->move(0,0);//這個取景器的0點不是窗口的0點??imageCapture=new QCameraImageCapture(camera);//捕獲對象camera->setViewfinder(viewfinder);//設置取景器//start()開啟攝像頭后,取景器會自動從攝像頭讀取圖片,但imageCapture沒有捕獲camera->start();//ui->ImageCapture->setScaledContents(true);//圖片隨著標簽大小而變化connect(imageCapture, SIGNAL(imageCaptured(int,QImage)), this, SLOT(displayImage(int,QImage)));//imageCapture捕獲到新圖時,會發出imageCaptured(int,QImage)信號//int id 第幾次捕獲;QImage捕獲的圖像connect(buttonCapture, SIGNAL(clicked()), this, SLOT(captureImage()));}win::~win(){}void win::captureImage(){imageCapture->capture();//捕獲圖片//imageCapture捕獲到新圖時,會發出imageCaptured(int,QImage)信號}void win::displayImage(int id, QImage image){qDebug()<size();//返回顯示框大小qDebug()<setPixmap(QPixmap::fromImage(image));}

判斷是否被占用

//檢測攝像頭是否被占用QCamera *m_pCamera = new QCamera(this);QCameraViewfinder *m_pViewfinder = new QCameraViewfinder(this);//取景器QCameraImageCapture *m_pImageCapture = new QCameraImageCapture(m_pCamera);//捕獲對象m_pImageCapture->setCaptureDestination(QCameraImageCapture::CaptureToFile);//設置捕獲為文件或者緩沖區,默認為文件m_pCamera->setCaptureMode(QCamera::CaptureStillImage);//設置捕獲模式m_pCamera->setViewfinder(m_pViewfinder);//設置取景器m_pCamera->start();if (!m_pImageCapture->isReadyForCapture())//攝像頭是否準備好捕獲了{qDebug() << "攝像頭已被其他應用程序占用";QMessageBox box(QMessageBox::Question, tr("提示"), tr("攝像頭打開失敗。"));box.addButton(tr("確 定"), QMessageBox::YesRole);box.exec();}m_pCamera->stop();delete m_pCamera;delete m_pViewfinder;delete m_pImageCapture;

QCameraInfo

QList list;list = QCameraInfo::availableCameras(); //返回攝像頭信息列表qDebug()<

分辨率、幀率

查詢和設置攝像頭分辨率時,需要在攝像頭啟動后調用,

即在調用QCamera::start()后,

可以使用QCamera::stateChanged(QCamera:State state)信號,

如果收到攝像頭狀態為QCamera::ActiveState后,再調用上述API

camera=new QCamera(this);viewfinder=new QCameraViewfinder(this);viewfinder->resize(640,480);viewfinder->move(0,0);camera->setViewfinder(viewfinder);camera->start();QList ViewSets = camera->supportedViewfinderSettings();//獲取攝像頭支持的分辨率、幀率等參數qDebug() << ViewSets.length();//返回分辨率支持的總數//14foreach (QCameraViewfinderSettings ViewSet, ViewSets) {qDebug() << i++ <<"最大幀速率=" << ViewSet.maximumFrameRate() << "最小幀速率="<< ViewSet.minimumFrameRate() << "分辨率:"<setViewfinderSettings(ViewSets[1]);//設置攝像頭參數qreal maxrate=ViewSets[0].maximumFrameRate();//返回最大幀速率qreal minrate=ViewSets[0].minimumFrameRate();//返回最小幀速率qDebug() <

相機狀態

camera=new QCamera(this);viewfinder=new QCameraViewfinder(this);viewfinder->resize(640,480);viewfinder->move(0,0);camera->setViewfinder(viewfinder);camera->start();int n=camera->status(); //返回相機當前狀態/*QCamera::ActiveStatus=8攝像機已經啟動,可以生成數據。取景器在活動狀態下顯示視頻幀。 說明:根據后端的不同,在ActiveState中更改某些相機設置(如捕獲模式、編解碼器或分辨率) 可能會導致在應用設置時將相機狀態更改為LoadedStatus和StartingStatus,并在相機準備 就緒時將相機狀態更改為ActiveStatusQCamera::StartingStatus=6狀態正在轉換為QCamera::ActiveState,相機正在啟動。相機服務尚未準備好拍攝QCamera::StoppingStatus=7狀態從QCamera::ActiveState轉換為QCamera::LoadedState或QCamera::UnloadedState,相機正在停止QCamera::StandbyStatus=5相機處于省電待機模式。相機在QCamera::LoadedState狀態下靜止一段時間后可能會進入待機模式QCamera::StandbyStatus=4攝像機已加載并準備好進行配置。此狀態表示相機設備已打開,可以查詢支持的圖像和視頻捕獲設置,如分辨率、幀速率和編解碼器QCamera::StandbyStatus=3狀態從QCamera::LoadedState或QCamera::ActiveState轉換為QCamera::UnloadedState,相機設備正在卸載QCamera::StandbyStatus=2狀態從QCamera::UnloadedState轉換為QCamera::LoadedState或QCamera::ActiveState,相機設備加載QCamera::StandbyStatus=1相機未加載時的初始相機狀態QCamera::StandbyStatus=0相機或相機后端不可用*/qDebug()<
???展開全文
相關文章
主站蜘蛛池模板: 久操资源| 日本久久中文字幕 | 天天操夜夜操天天操 | 久草免费资源在线 | 精品日本一区二区三区在线观看 | 欧美人曽交 | 亚洲精品中文字幕久久久久久 | 日日摸狠狠的摸夜夜摸 | 人人爽天天碰天天躁夜夜躁 | 久久久综合九色合综国产 | 欧美三级不卡视频 | 久久精品天堂 | 欧美一区二区三区四区五区六区 | 韩国免费a级在线观看观 | 久久人人爽人人爽人人片dvd | 日韩视频在线观看 | 伊人99在线 | jizzjizzjizz18中国| 欧美一欧美一区二三区性 | 玖玖在线精品 | 青青操在线播放 | 天海翼在线观看亚洲一区 | 欧美巨尻 | 久久伊人免费 | 久久伊人男人的天堂网站 | 在线观看香蕉免费啪在线观看 | jizz日本免费 | 特黄免费 | 免费观看在线视频 | 九九热网| 亚洲热久久 | 三极片免费看 | 国产视频日韩 | 日本国产在线 | 日本黄色中文字幕 | 波多野结衣久久国产精品 | 国产在线98福利播放视频免费 | 国产中文字幕视频在线观看 | 红灯区免费在线观看 | 日韩精品视频福利资源站 | 精品福利一区二区三区免费视频 |