java调用摄像头保存到图库_Java调用摄像头并拍摄保存
Java调用摄像头并拍摄保存。
找到一篇关于java调用硬件(摄像头),一篇挺有意思的文章,索性转一下:
————————————————————————————————————-
转自:http://www.usnews.com/education
———————————————————————————————————————————–
首先到sun下载最新的jmf,然后安装。http://java.sun.com/products/java-media/jmf/index.jsp
然后,说一下需求
1. 用摄像头拍照
2. 在文本框输入文件名
3. 按下拍照按钮,获取摄像头内的图像
4. 在拍下的照片上有一红框截取固定大小的照片。
5. 保存为本地图像为jpg格式,不得压缩画质
技术关键,相信也是大家最感兴趣的部分也就是如何让一个摄像头工作,并拍下一张照片了。
————————————————————————————————————–
利用jmf,代码很简单:
//利用这三个类分别获取摄像头驱动,和获取摄像头内的图像流,获取到的图像流是一个swing的component组件类
public static player player = null;
private capturedeviceinfo di = null;
private medialocator ml = null;
//文档中提供的驱动写法,为何这么写我也不知:)
string str1 = “vfw:logitech usb video camera:0″;
string str2 = “vfw:microsoft wdm image capture (win32):0″;
di = capturedevicemanager.getdevice(str2);
ml = di.getlocator();
try
{
player = manager.createrealizedplayer(ml);
player.start();
component comp;
if ((comp = player.getvisualcomponent()) != null)
{
add(comp, borderlayout.north);
}
}
catch (exception e)
{
e.printstacktrace();
}
接下来就是点击拍照,获取摄像头内的当前图像。
代码也是很简单:
private jbutton capture;
private buffer buf = null;
private buffertoimage btoi = null;
private imagepanel imgpanel = null;
private image img = null;
private imagepanel imgpanel = null;
jcomponent c = (jcomponent) e.getsource();
if (c == capture)//如果按下的是拍照按钮
{
framegrabbingcontrol fgc =(framegrabbingcontrol) player.getcontrol(“javax.media.control.framegrabbingcontrol”);
buf = fgc.grabframe(); // 获取当前祯并存入buffer类
btoi = new buffertoimage((videoformat) buf.getformat());
img = btoi.createimage(buf); // show the image
imgpanel.setimage(img);
}
保存图像的就不多说了,以下为示例代码
bufferedimage bi = (bufferedimage) createimage(imgwidth, imgheight);
graphics2d g2 = bi.creategraphics();
g2.drawimage(img, null, null);
fileoutputstream out = null;
try
{
out = new fileoutputstream(s);
}
catch (java.io.filenotfoundexception io)
{
system.out.println(“file not found”);
}
jpegimageencoder encoder = jpegcodec.createjpegencoder(out);
jpegencodeparam param = encoder.getdefaultjpegencodeparam(bi);
param.setquality(1f, false);//不压缩图像
encoder.setjpegencodeparam(param);
try
{
encoder.encode(bi);
out.close();
}
catch (java.io.ioexception io)
{
system.out.println(“ioexception”);
}
————————————————————————————————————-http://blog.csdn.net/china_lzn/article/details/7553552
java调用摄像头保存到图库_Java调用摄像头并拍摄保存相关推荐
- java调用接口实现的方法_java调用接口的实现方法
java调用接口的实现方法 发布时间:2020-06-29 11:08:46 来源:亿速云 阅读:78 作者:Leah 本篇文章给大家分享的是有关java调用接口的实现方法,小编觉得挺实用的,因此分享 ...
- java本地方法出现问题怎么办_Java调用本地方法又是怎么一回事
JNI JNI即Java Native Interface,它能在Java层实现对本地方法的调用,一般本地的实现语言主要是C/C++,其实从虚拟机层面来看JNI挺好理解,JVM主要使用C/C++ 和少 ...
- java调用kafka接口发送数据_Java调用Kafka生产者,消费者Api及相关配置说明
本次的记录内容包括: 1.Java调用生产者APi流程 2.Kafka生产者Api的使用及说明 3.Kafka消费者Api的使用及说明 4.Kafka消费者自动提交Offset和手动提交Offset ...
- java 不等待 视频转码_java调用ffmpeg,mencoder进行视频转换,读取时长等
以前做的一个基于ffmpeg的视频格式转换的程序,现在抽空整理一下,很多地方都是从别的大神那借鉴的,只是把自己的觉得有用的,对别人有帮助的拿出来分享分享,下面是代码 package video; im ...
- java 调用kettle job 传参_java调用kettle向job(任务)和transformation(转换)传递参数实例...
虽然网上文章有说java可以传递参数给kettle,不过只找到了传递参数给转换的文章,没有讲参数传递给job,kettle中如何使用java传递的参数.今天就以上问题,一并共享. /** * 本测试类 ...
- java 使用7z进行解压_java调用7zip解压压缩包的实例
前言 最近的项目中需要用到解压缩包的功能,客户给出的压缩包的格式主要是rar和zip,因此就打算使用java调用7zip的命令行进行解压文件,本文主要记录一下实现的过程以及其中遇到的问题. 7zip命 ...
- Java调用MySQL并返回数据_Java调用MySQL存储过程并获得返回值的方法
本文实例讲述了Java调用MysqL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect,int de ...
- java openurl不弹出新页面_Java调用浏览器打开指定页面的5种方法(最全)
package com.xbz; import java.awt.*; import java.lang.reflect.Method; import java.net.URI; import jav ...
- java调用包中的类_java调用另一个包中的类的方法
java调用另一个包中的类的方法 发布时间:2020-05-18 15:04:40 来源:亿速云 阅读:199 作者:小新 今天小编给大家分享的是java调用另一个包中的类的方法,相信很多人都不太了解 ...
最新文章
- 明星居然来我们宜昌保利时代拍戏——电影《被光抓走的人》
- Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP (转自博客园)
- T-SQL里数据库工程师都不知道的秘密之SQL Server自定义函数UDF
- Microsoft Visual Studio 2010 破解下载!
- 18-mysql-数据类型
- Visual C++ 设置适合自己的解决方案目录结构
- Python计算从n个元素中任选i个的组合数C(n,i)
- 兼容浏览器的insertAdjacentHTML
- 笔记本如何查看mac地址
- 关于断点续传的那些事
- QT学习笔记(一)——QT基础
- android自定义剪切板,Android10适配之剪切板
- 全球三大计算机病毒爆发事件,全球爆发勒索病毒 十大恐怖电脑病毒排行榜(3)...
- 考研英语(四)——名词性从句
- python简易版成绩管理系统_Python学生成绩管理系统简洁版
- 微星性能测试软件,MSI Kombustor
- 火柴人生存挑战2html5游戏在线玩,火柴人生存挑战
- office卸载后无法重装终极解决办法
- 编写函数求两个数的最大公约数,采用递归法计算两数的最大公约数。
- VLC 推流的简单设置