亚洲一级簧片_性 毛片_国产乱子视频_久久影城_强伦女教师视频_成人精品久久

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()<
???展開全文
相關文章
主站蜘蛛池模板: 国产精品久久久久一区二区三区共 | 青青av| 亚洲精品高潮久久久久久久 | 在线视频国产一区 | 色一区二区 | 国内精品久久久久久影视8 成人午夜影院 | 丰满岳乱妇一区二区三区 | 国产精品一区久久久 | 一级二级在线观看 | 天天综合网网欲色 | 日韩免费在线视频 | 久久久久久999 | 国产美女视频 | 欧美日韩精品二区 | 久久久免费精品 | 国内自拍一区 | 欧美日韩亚洲一区二区 | 免费福利在线视频 | 夜夜操导航 | 久久成人18免费网站 | 高清日韩av| 亚州精品天堂中文字幕 | 午夜精品一区二区三区在线播放 | aa成人| 亚洲高清福利 | 色婷婷av一区 | 黄色精品 | 亚洲国产精品成人女人久久 | 999久久国精品免费观看网站 | 亚洲精品视频免费看 | 2015成人永久免费视频 | 伊人av在线 | 999免费 | 久久一区国产 | 亚洲香蕉在线观看 | 一级国产 | 99福利| 在线观看中文字幕一区 | 五月婷婷在线观看 | 最近中文字幕在线 | 欧美理论在线观看 |