Projet ROV'NET  1.0
BTS SN 2019
Connecteurs publics | Fonctions membres publiques | Fonctions membres privées | Attributs privés | Liste de tous les membres
Référence de la classe Camera

Gère la reception du flux video et la prise de photo. Plus de détails...

#include <camera.h>

Graphe de collaboration de Camera:
Collaboration graph

Connecteurs publics

void capture ()
 Capture l'image du flux video. Plus de détails...
 
void changerCamera (QString)
 Permet de démarrer le flux vidéo de la caméra choisir dans le QComboBox sur l'IHM. Plus de détails...
 
void erreurCapture (int id, QCameraImageCapture::Error error, const QString &errorString)
 

Fonctions membres publiques

 Camera (QObject *parent=nullptr)
 
 ~Camera ()
 
bool estCameraDisponible ()
 Retourne un booléen sur l'état de disponibilité de la caméra. Plus de détails...
 
QCameraViewfinder * getCadreFluxVideo ()
 retourne le flux video Plus de détails...
 
QList< QCameraInfo > getListeCamera ()
 retourne toute les caméras disponible Plus de détails...
 
void setArchives (Archives *archives)
 

Fonctions membres privées

QString nommerCapture ()
 Renomme la photo capturée au format : "yyyy-MM-dd_HH:mm:ss". Plus de détails...
 
void demarrerCamera ()
 
void demarrerCamera (QCameraInfo)
 Demarre le retour vidéo sur l'IHM. Plus de détails...
 

Attributs privés

QCamera * camera
 Permet la connexion avec la caméra. Plus de détails...
 
Archivesarchives
 Permet la connexion avec les archives. Plus de détails...
 
QCameraViewfinder * cadreFluxVideo
 Permet l'affichage du flux vidéo. Plus de détails...
 
QCameraImageCapture * captureImage
 Permet la capture d'image. Plus de détails...
 
QString formatSauvegardeTemps
 Le format de sauvegarde du temps pour l'archivages. Plus de détails...
 
QString dateImage
 Stock la date de la prise de photo pour l'archivage. Plus de détails...
 
QList< QCameraInfo > cameras
 Stock la liste des caméras disponibles. Plus de détails...
 

Description détaillée

Auteur
BOFFREDO Nicolas
Version
0.2
Date
Mercredi 13 Mars 2019

Documentation des constructeurs et destructeur

◆ Camera()

Camera::Camera ( QObject *  parent = nullptr)

Références cadreFluxVideo, camera, cameras, captureImage, demarrerCamera(), et estCameraDisponible().

10  : QObject(parent),
11  camera(nullptr),
12  archives(nullptr),
13  cadreFluxVideo(nullptr),
14  captureImage(nullptr),
15  formatSauvegardeTemps("dd-MM-yyyy_HH:mm:ss")
16 {
17  cadreFluxVideo = new QCameraViewfinder;
18  camera = new QCamera;
19  captureImage = new QCameraImageCapture(camera);
20  cameras = QCameraInfo::availableCameras();
21 
24 
25  qDebug() << Q_FUNC_INFO << cameras;
26 }
QString formatSauvegardeTemps
Le format de sauvegarde du temps pour l&#39;archivages.
Definition: camera.h:50
QCamera * camera
Permet la connexion avec la caméra.
Definition: camera.h:46
bool estCameraDisponible()
Retourne un booléen sur l&#39;état de disponibilité de la caméra.
Definition: camera.cpp:39
QCameraImageCapture * captureImage
Permet la capture d&#39;image.
Definition: camera.h:49
QList< QCameraInfo > cameras
Stock la liste des caméras disponibles.
Definition: camera.h:52
Archives * archives
Permet la connexion avec les archives.
Definition: camera.h:47
void demarrerCamera()
QCameraViewfinder * cadreFluxVideo
Permet l&#39;affichage du flux vidéo.
Definition: camera.h:48

◆ ~Camera()

Camera::~Camera ( )

Références cadreFluxVideo, et camera.

29 {
30  delete cadreFluxVideo;
31  delete camera;
32  qDebug() << Q_FUNC_INFO;
33 }
QCamera * camera
Permet la connexion avec la caméra.
Definition: camera.h:46
QCameraViewfinder * cadreFluxVideo
Permet l&#39;affichage du flux vidéo.
Definition: camera.h:48

Documentation des fonctions membres

◆ capture

void Camera::capture ( )
slot

Références captureImage, et nommerCapture().

104 {
105  qDebug() << Q_FUNC_INFO;
106  QString nomCapture = this->nommerCapture();
107  qDebug() << Q_FUNC_INFO << "nomCapture" << nomCapture;
108  captureImage->capture(nomCapture);
109 }
QString nommerCapture()
Renomme la photo capturée au format : "yyyy-MM-dd_HH:mm:ss".
Definition: camera.cpp:115
QCameraImageCapture * captureImage
Permet la capture d&#39;image.
Definition: camera.h:49

◆ changerCamera

void Camera::changerCamera ( QString  nomCamera)
slot
Paramètres
nomCameraUn QString, le nom de la caméra

Références cameras, et demarrerCamera().

130 {
131  QString cameraTrouvee;
132  QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
133  foreach (const QCameraInfo &cameraInfo, cameras)
134  {
135  cameraTrouvee = cameraInfo.description() + " (" + cameraInfo.deviceName()+ ")";
136  if (cameraTrouvee == nomCamera)
137  {
138  this->demarrerCamera(cameraInfo);
139  }
140  }
141 }
QList< QCameraInfo > cameras
Stock la liste des caméras disponibles.
Definition: camera.h:52
void demarrerCamera()

◆ demarrerCamera() [1/2]

void Camera::demarrerCamera ( )
private

Référencé par Camera(), et changerCamera().

◆ demarrerCamera() [2/2]

void Camera::demarrerCamera ( QCameraInfo  cameraSelectionnee)
private

Par défaut la méthode reçoit la première caméra trouvée

Paramètres
cameraSelectionnee

Références cadreFluxVideo, camera, captureImage, erreurCapture(), et estCameraDisponible().

80 {
81  if(camera != nullptr)
82  delete camera;
83  if(captureImage != nullptr)
84  delete captureImage;
85 
87  {
88  qDebug() << Q_FUNC_INFO << "cameraSelectionnee" << cameraSelectionnee.deviceName();
89  camera = new QCamera(cameraSelectionnee);
90  camera->setViewfinder(cadreFluxVideo);
91  camera->setCaptureMode(QCamera::CaptureStillImage);
92  captureImage = new QCameraImageCapture(camera);
93  captureImage->setCaptureDestination(QCameraImageCapture::CaptureToBuffer);
94  connect(captureImage, SIGNAL(error(int,QCameraImageCapture::Error,QString)), this, SLOT(erreurCapture(int,QCameraImageCapture::Error,QString)));
95 
96  camera->start();
97  }
98 }
QCamera * camera
Permet la connexion avec la caméra.
Definition: camera.h:46
bool estCameraDisponible()
Retourne un booléen sur l&#39;état de disponibilité de la caméra.
Definition: camera.cpp:39
QCameraImageCapture * captureImage
Permet la capture d&#39;image.
Definition: camera.h:49
void erreurCapture(int id, QCameraImageCapture::Error error, const QString &errorString)
Definition: camera.cpp:143
QCameraViewfinder * cadreFluxVideo
Permet l&#39;affichage du flux vidéo.
Definition: camera.h:48

◆ erreurCapture

void Camera::erreurCapture ( int  id,
QCameraImageCapture::Error  error,
const QString &  errorString 
)
slot

Référencé par demarrerCamera().

144 {
145  Q_UNUSED(id)
146  Q_UNUSED(error)
147  qDebug() << Q_FUNC_INFO << errorString;
148 }

◆ estCameraDisponible()

bool Camera::estCameraDisponible ( )
Renvoie
Un booléen, vrai si la caméra est disponible, faux sinon.

Références cameras.

Référencé par IHMRov::actualiseIconesEtat(), Camera(), et demarrerCamera().

40 {
41  if (cameras.count() > 0)
42  return true;
43 
44  else
45  return false;
46 }
QList< QCameraInfo > cameras
Stock la liste des caméras disponibles.
Definition: camera.h:52

◆ getCadreFluxVideo()

QCameraViewfinder * Camera::getCadreFluxVideo ( )

Un assesseur permettant d'avoir le retour vidéo

Références cadreFluxVideo.

Référencé par IHMRov::IHMRov().

70 {
71  return cadreFluxVideo;
72 }
QCameraViewfinder * cadreFluxVideo
Permet l&#39;affichage du flux vidéo.
Definition: camera.h:48

◆ getListeCamera()

QList< QCameraInfo > Camera::getListeCamera ( )

Références cameras.

Référencé par IHMRov::initialiserListeCamera().

51 {
52  QList<QCameraInfo> listeCamera;
53  foreach (const QCameraInfo &cameraInfo, cameras)
54  {
55  listeCamera.append(cameraInfo);
56  }
57  return listeCamera;
58 }
QList< QCameraInfo > cameras
Stock la liste des caméras disponibles.
Definition: camera.h:52

◆ nommerCapture()

QString Camera::nommerCapture ( )
private

Indique le chemin vers un dossier de stockage des photos, à l'emplacement de l'éxécutable.

Références archives, dateImage, formatSauvegardeTemps, et Archives::getCheminArchives().

Référencé par capture().

116 {
117  QString nom = QApplication::applicationDirPath() + "/defaut";
118  QDateTime dateCapture = QDateTime::currentDateTime();
119  dateImage = dateCapture.toString(formatSauvegardeTemps);
120  nom = archives->getCheminArchives() + "/" + dateImage;
121  qDebug() << Q_FUNC_INFO << nom;
122  return nom;
123 }
QString dateImage
Stock la date de la prise de photo pour l&#39;archivage.
Definition: camera.h:51
QString formatSauvegardeTemps
Le format de sauvegarde du temps pour l&#39;archivages.
Definition: camera.h:50
Archives * archives
Permet la connexion avec les archives.
Definition: camera.h:47
QString getCheminArchives()
Accesseur renvoyant le chemin du dossier de stockage des photos.
Definition: archives.cpp:20

◆ setArchives()

void Camera::setArchives ( Archives archives)

Références archives.

Référencé par IHMRov::IHMRov().

61 {
62  this->archives = archives;
63 }
Archives * archives
Permet la connexion avec les archives.
Definition: camera.h:47

Documentation des données membres

◆ archives

Archives* Camera::archives
private

Référencé par nommerCapture(), et setArchives().

◆ cadreFluxVideo

QCameraViewfinder* Camera::cadreFluxVideo
private

◆ camera

QCamera* Camera::camera
private

Référencé par Camera(), demarrerCamera(), et ~Camera().

◆ cameras

QList<QCameraInfo> Camera::cameras
private

◆ captureImage

QCameraImageCapture* Camera::captureImage
private

Référencé par Camera(), capture(), et demarrerCamera().

◆ dateImage

QString Camera::dateImage
private

Référencé par nommerCapture().

◆ formatSauvegardeTemps

QString Camera::formatSauvegardeTemps
private

Référencé par nommerCapture().


La documentation de cette classe a été générée à partir des fichiers suivants :