Jump to content

j_galdino

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Comum

About j_galdino

Recent Profile Visitors

186 profile views
  1. 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); }
  2. 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."); } }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.