Getting problem while capturing image through web cam in Java -OpenCV code.

Posted by Chetan on Stack Overflow See other posts from Stack Overflow or by Chetan
Published on 2010-04-12T04:49:36Z Indexed on 2010/04/12 4:53 UTC
Read the original article Hit count: 912

Filed under:

Hi.. I am developing Face detector using OpenCV library in java... I have written sample code for this,but it is giving Error while capturing image. can any one help please. Here is the code

import java.awt.; import java.awt.event.; import java.awt.image.MemoryImageSource; import hypermedia.video.OpenCV;

@SuppressWarnings("serial") public class FaceDetection extends Frame implements Runnable {

///Main method.

public static void main(String[] args) { //System.out.println( "\nOpenCV face detection sample\n" ); new FaceDetection(); }

// program execution frame rate (millisecond) final int FRAME_RATE = 1000/30;

OpenCV cv = null; // OpenCV Object Thread t = null; // the sample thread

// the input video stream image Image frame = null; // list of all face detected area Rectangle[] squares = new Rectangle[0];

//** Setup Frame and Object(s).

FaceDetection() {

super( "Face Detection" );

// OpenCV setup cv = new OpenCV(); //cv.capture(1, 1, 100); cv.capture( 320, 240 ); cv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );

// frame setup this.setBounds( 100, 100, cv.width, cv.height ); this.setBackground( Color.BLACK ); this.setVisible( true ); this.addKeyListener( new KeyAdapter() { public void keyReleased( KeyEvent e ) { if ( e.getKeyCode()==KeyEvent.VK_ESCAPE ) { // ESC : release OpenCV resources cv.dispose(); System.exit(0); } } } );

// start running program t = new Thread( this ); t.start(); }

// Draw video frame and each detected faces area.

public void paint( Graphics g ) {

// draw image g.drawImage( frame, 0, 0, null );

// draw squares g.setColor( Color.RED ); for( Rectangle rect : squares ) g.drawRect( rect.x, rect.y, rect.width, rect.height ); }

@SuppressWarnings("static-access") public void run() { while( t!=null && cv!=null ) { try {

t.sleep( FRAME_RATE );

// grab image from video stream
cv.read();

// create a new image from cv pixels data
MemoryImageSource mis = new MemoryImageSource( cv.width, cv.height, cv.pixels(), 0, cv.width );
frame = createImage( mis );

// detect faces
squares = cv.detect( 1.2f, 2, OpenCV.HAAR_DO_CANNY_PRUNING, 20, 20 );

// of course, repaint
repaint();

} catch( InterruptedException e ) {;} } }

}

Error while starting capture : device 0

© Stack Overflow or respective owner

Related posts about java