JAVA代码如何调用客户端摄像头首先到sun下载最新的jmf,然后安装 。
然后,说一下需求
1.用摄像头拍照
2.在文本框输入文件名
3.按下拍照按钮,获取摄像头内的图像
4.在拍下的照片上有一红框截取固定大小的照片 。
5.保存为本地图像为jpg格式 , 不得压缩画质
技术关键,相信也是大家最感兴趣的部分也就是如何让一个摄像头工作,并拍下一张照片了 。
利用jmf,代码很简单:
//利用这三个类分别获取摄像头驱动 , 和获取摄像头内的图像流,获取到的图像流是一个swing的component组件类
publicstaticplayerplayer=null;
privatecapturedeviceinfodi=null;
privatemedialocatorml=null;
//文档中提供的驱动写法,为何这么写我也不知:)
stringstr1="vfw:logitechusbvideocamera:0 ";
stringstr2="vfw:microsoftwdmimagecapture(win32):0 ";
di=capturedevicemanager.getdevice(str2);
ml=di.getlocator();
try
{
player=manager.createrealizedplayer(ml);
player.start();
componentcomp;
if((comp=player.getvisualcomponent())!=null)
{
add(comp,borderlayout.north);
}
}
catch(exceptione)
{
e.printstacktrace();
}
接下来就是点击拍照 , 获取摄像头内的当前图像 。
代码也是很简单:
privatejbuttoncapture;
privatebufferbuf=null;
privatebuffertoimagebtoi=null;
privateimagepanelimgpanel=null;
privateimageimg=null;
privateimagepanelimgpanel=null;
jcomponentc=(jcomponent)e.getsource();
if(c==capture)//如果按下的是拍照按钮
{
framegrabbingcontrolfgc=(framegrabbingcontrol)player.getcontrol( "javax.media.control.framegrabbingcontrol ");
buf=fgc.grabframe();//获取当前祯并存入buffer类
btoi=newbuffertoimage((videoformat)buf.getformat());
img=btoi.createimage(buf);//showtheimage
imgpanel.setimage(img);
}
保存图像的就不多说了 , 以下为示例代码
bufferedimagebi=(bufferedimage)createimage(imgwidth,imgheight);
graphics2dg2=bi.creategraphics();
g2.drawimage(img,null,null);
fileoutputstreamout=null;
try
{
out=newfileoutputstream(s);
}
catch(java.io.filenotfoundexceptionio)
{
system.out.println( "filenotfound ");
}
jpegimageencoderencoder=jpegcodec.createjpegencoder(out);
jpegencodeparamparam=encoder.getdefaultjpegencodeparam(bi);
param.setquality(1f,false);//不压缩图像
encoder.setjpegencodeparam(param);
try
{
encoder.encode(bi);
out.close();
}
catch(java.io.ioexceptionio)
{
system.out.println( "ioexception ");
}
把.jar文件导入 。下载了jmf后需要安装,安装后你的那个jmf目录下就会有一个lib文件夹里面有.jar文件,然后打开eclipse,右键选择你的工程-〉属性-〉javabuildpath- library-〉addexternaljars找到你的jmf目录下lib的那个文件夹然后选中那些文件导入就ok了 。
然后利用工具提供的导入文件帮助,一个一个导就OK了
如何使用java调用摄像头正好我最近在弄JAVA摄像头东西
JAVA加载摄像头需要用JMF框架java源代码打开摄像头,这个LZ可以去SUN的主页下到,具体的配置搜下就有了
我这个是在用JFrame的
加载的代码是这样的java源代码打开摄像头:
public JPanel contentPane = new JPanel();
public void getvideo(){
CaptureDeviceInfo di = null;
MediaLocator ml = null;
Player player = null;
Vector deviceList = CaptureDeviceManager.getDeviceList(null);
if(deviceList!=null)
{
for(int i=0;ideviceList.size();i++)
{
di=(CaptureDeviceInfo)deviceList.elementAt(i);
推荐阅读
- 浏览器怎么整页浏览pdf,浏览器pdf全屏
- 用数据线打pg,用数据线打pp有多疼
- ios9游戏模拟器,ios用的游戏模拟器
- 光遇在什么手机上下载,光遇哪个手机可以下载
- 汇编c语言函数怎么用 汇编语言 c语言
- sap在线测试,sap在线使用
- 箭头word怎么打出来,箭头符号在word文档怎么打出来
- 如何更改pdf图片长宽,如何更改pdf图片长宽和宽高
- Java源代码在哪个包里 java程序源代码用什么命令