Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas Fabiano

Opencv

Recommended Posts

Alguém sabe ou tem exemplo de como medir imagens com a biblioteca opencv ou outra que faça esse tipo de recurso? (Medir imagens em cm e mm a partir de uma foto).

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por j_galdino
      Estou trabalhando em um projeto em que a webcam padrão tira fotos a cada 1 segundo utilizando o JavaCV.
      Por enquanto ,nesse code, ao clique do botão capturar ele captura uma foto e salva na pasta do programa. Pede-se que o programa salve as fotos em uma determinada pasta selecionada pelo usuário e que a webcam capture fotos a cada 1 segundo.

      import com.googlecode.javacv.CanvasFrame;
      import com.googlecode.javacv.OpenCVFrameGrabber;
      import com.googlecode.javacv.cpp.opencv_core.IplImage;
      import com.googlecode.javacv.cpp.opencv_highgui;
      import com.googlecode.javacv.cpp.opencv_highgui.CvCapture;
      import static com.googlecode.javacv.cpp.opencv_highgui.cvSaveImage;
      import java.awt.event.KeyEvent;
      import javax.swing.JOptionPane;

      OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);

      JOptionPane.showMessageDialog(null, "Aperte a tecla P para parar a gravação");
      while(KeyEvent.VK_P){

      try{
      grabber.start();

      IplImage img = grabber.grab();

      if(img!=null){
      cvSaveImage("image1.jpg", img);
      }
      }
      catch(Exception e){
      e.printStackTrace();
      }
      setFocusable(true);
      setVisible(true);

      }
    • Por j_galdino
      Olá!
      Estou fazendo um projeto em que a webcam padrão tira fotos cada 0,5 segundos(se não for possível, a cada 1 segundo)utilizando o opencv.
      No meu code, ao clique do botão capturar você seleciona a pasta onde quer e ele captura uma foto. Quero fazer um loop para que ele capture fotos e salve,
      public class jfmPrincipal extends javax.swing.JFrame { VideoCaptura webCam; ExibeQuadro exibeQuadro; Thread executor; private DaemonThread myThread = null; int count = 0; VideoCapture webSource = null; Mat frame = new Mat(); MatOfByte mem = new MatOfByte(); class DaemonThread implements Runnable { protected volatile boolean runnable = false; @Override public void run() { synchronized(this) { while(runnable) { if(webSource.grab()) { try { webSource.retrieve(frame); Highgui.imencode(".bmp", frame, mem); Image im = ImageIO.read(new ByteArrayInputStream(mem.toArray())); BufferedImage buff = (BufferedImage) im; Graphics g=jlbCaptura.getGraphics(); if (g.drawImage(buff, 0, 0, getWidth(), getHeight() -150 , 0, 0, buff.getWidth(), buff.getHeight(), null)) if(runnable == false) { System.out.println("Going to wait()"); this.wait(); } } catch(Exception ex) { System.out.println("Error"); } } } } } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { int returnVal = jFileChooser1.showSaveDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = jFileChooser1.getSelectedFile(); Highgui.imwrite(file.getPath(), frame); } else { System.out.println("Acesso negado."); } }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.