Windows下JavaCV獲取攝像頭圖像

public class video
{  
	public static void main(String[] args) throws Exception 
	{ 

	    final String savedImageFile = "d:\\my.jpg";   //拍攝所存儲的文件
	    OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);  
	    grabber.start();   //開始獲取攝像頭數據
	    IplImage image =grabber.grab(); //將所獲取攝像頭數據放入IplImage
		
	    int width = image.width();  
	    int height = image.height();
	    final BufferedImage bImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 	
	    Graphics2D bGraphics = bImage.createGraphics();       	              
		
	    CanvasFrame canvas = new CanvasFrame("Camera",1);
	    canvas.setCanvasSize(width, height);  
		
	    canvas.getCanvas().addMouseListener(new MouseAdapter(){  
                public void mouseClicked(MouseEvent e){       
            	  try{
            	     ImageIO.write(bImage, "jpg", new File(savedImageFile));//數據寫入my.jpg
            	     } 
            	  catch (IOException e1){
            	    // TODO Auto-generated catch block
            	    e1.printStackTrace();
            	    }  
               }
            });
	   while(canvas.isVisible() && (image=grabber.grab()) != null){  
		canvas.showImage(image); 
		bGraphics.drawImage(image.getBufferedImage(),null,0,0); 
		}
		
	    	cvReleaseImage(image);     
        	grabber.stop();  
        	canvas.dispose();     
	}
	
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章