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

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()<
???展開全文
相關文章
主站蜘蛛池模板: 色婷婷999 | 色呦呦网址| 777色淫网站女女免费 | 国产精品久久久久久 | 欧美日韩在线免费 | 久久久91精品国产一区老牛影视 | 国产成人一区二区 | 国产精品久久久久久久久久久免费看 | 日韩一二 | 久久久精品影院 | 91麻豆精品国产91久久久久久久久 | 最新av电影网站 | 国产欧美精品一区aⅴ影院 岛国av免费看 | 久久精品免费 | 黄色毛片一级片 | 国产在线精品视频 | 在线免费av网站 | 免费av电影网站 | 亚洲欧美国产另类 | 日韩欧美精品一区二区三区经典 | 久综合网 | 久久成人综合网 | 国产视频精品免费 | 久久久国产成人一区二区三区 | 亚洲电影一区二区 | 中文字幕精品一区久久久久 | 精品视频免费在线 | 国产视频1 | 日韩精品视频免费在线观看 | 黄色av地址| www黄色 | 免费嗨片网 | 99re在线观看 | 99久久99| 国产二三区 | 久久久国产一区二区三区 | 国产精品一区在线观看你懂的 | 国产超碰人人爽人人做人人爱 | 夜夜摸夜夜操 | 欧美日韩精品电影 | 一级免费视频 |