usb摄像头拍照(javacv--2)

前言:

下载jacaCV-0.7-bin.zip和javacv-0.7cppjars.zip解压

导入jacaCV-0.7-bin.zip中的javacpp.jar,javacv.jar      (如果导进去这两个jar包还有问题,就根据自己的系统和jdk选择jar包)

导入javacv-0.7cppjars.zip中jar包是根据jdk去选择的

我的window7 64位  jdk是32位的   所以选择opencv-2.4.8-windows-x86.jar

包导进去下面的源码就能用了。

源码:http://blog.csdn.net/ljsspace/article/details/6702178

源码:jacaCV-0.7-bin.zip当中README.txt  


图片
package asdf.asdf.asd;

import java.awt.Graphics2D;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.OpenCVFrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import static com.googlecode.javacv.cpp.opencv_core.cvReleaseImage; 

public class video  
{    
    public static void main(String[] args) throws Exception   
    {   
  
        final String savedImageFile = "d:\\you.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();       
    }  
      
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值