#include <iostream>

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>

#include <boost/lexical_cast.hpp>

using namespace cv;
using namespace std;

int main()
{
  
  VideoCapture captura(1);
  captura.set(CV_CAP_PROP_FRAME_WIDTH, 1280);
  captura.set(CV_CAP_PROP_FRAME_HEIGHT, 720);
  
  if ( !captura.isOpened())
  {
    cout << "Impossível abrir câmara" << endl;
    return -1;
  }
  int i = 0;
  do{
    
    Mat frame;
    captura.read(frame);
    imshow("Imagem", frame);
    
    int tecla = waitKey(10);
    if ( tecla == 10 )	// Enter grava uma imagem
    {
      //     Grava a imagem com o nome "ImagemX.jpeg" na pasta Imagens da Aquisição de Imagem
      string numero = boost::lexical_cast<string>(i++);
      string nome = string("/home/luis/Documentos/Dissertação/Codigo/Aquisição de Imagem/Imagens/Imagem") + numero + ".jpeg";
      imwrite(nome, frame);
    }
    else if ( tecla == 27 )	// Escape pára a aquisição de imagem
    {
      break;
    }
    
  }while(1);	// Espera até ser carregado no enter
}