天天操夜夜爱_天天插天天操天天干_黄色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()<
???展開全文
相關文章
主站蜘蛛池模板: 亚洲综合日韩中文字幕v在线 | 久久综合九色综合97婷婷群聊 | 免费看日批视频 | 青青免费观看免在线 | jizz亚洲视频| 天天色图片 | 免费在线色视频 | 欧美一区二区在线视频 | 久久一区二区三区不卡 | 人人澡人人爽人人精品 | 久久―日本道色综合久久 | 国产成人精品三级在线 | 久久精品国产大片免费观看 | 九九久久亚洲综合久久久 | 五月婷婷色播 | 精品一区二区三区四区五区六区 | 日本不卡免费高清视频 | 在线aaa | 激情小视频网站 | 青草导航 | 激情免费网站 | jizz-jizz大全 | 日日干夜夜艹 | 免费视频 | 99久久精品久久久久久婷婷 | 久久久久久国产精品免费免 | 日本毛茸茸护士 | 人人爽人人射 | 爱爱永久免费视频网站 | 黄色视屏日本 | 国产精品久久久香蕉 | 人人想人人人爽人人叫 | 欧美一区二区三区东南亚 | 久久一区二区三区精品 | 国产真实乱freesex | 毛片一区二区三区 | 久草观看视频 | 亚洲黄色高清视频 | 中文字幕免费在线观看动作大片 | 韩国一级片视频 | 欧洲视频在线观看 |