Java中利用JMF编写摄像头拍照程序

java使用opencv2.4.9调用摄像头拍照+保存到本地 java使用opencv2.4.9调用摄像头拍照+保存到本地前言需要的依赖jar包一览贴代码注意点参考的目录 前言 本博客仅供参考使用,现把观前提示写出: 1.语言java,jar包为opencv2.4.9 2.软件 eclipse,程序为rcp(富平台)程序 3.功能为直接调用电脑自带的摄像头,直接拍照并保存到本地,比如G:\image\,然后把图片路径+图片名存入变量,返回,分别其他类调用和取得图片的URL(指的是本地路径+图片名,比如G:\image\45849898_fsf.jpg) 需要的依赖ja 阅读详情

最近想做个家用的摄像头监视系统,转一篇文章,原文链接:http://www.cndw.com/tech/program/2006042861847.asp

Java中利用JMF编写摄像头拍照程序

作者: 来源: 
阅读 1417 人次 , 2006-4-28 11:05:00 
 

我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了。用于现场拍照,生成照片,主要用到Java Media Framework(JMF)。

  首先到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");
}

  已经申请将JWebCam建立为一个开源项目,放到GRO,大家发挥自己的想象力加入自己的代码吧,比如拍摄视频,添加图像处理功能,等等。

html5实现摄像头拍照并使用java进行照片保存 代码只是关键代码,并不能直接使用,可以拷贝到javaweb项目中使用 立即下载

相关推荐

java opencv 调用摄像头实现拍照及本地保存 支持上传FTP 路径配置

java opencv 调用摄像头实现拍照及本地保存 支持上传FTP 可以配置本地路径及FTP路径

Java获取实时摄像头进行拍照(附源码)

Java是一种通用编程语言,可以用来开发各种类型的应用程序,包括涉及图像处理和相机操作的应用程序。要在Java中获取实时摄像头进行拍照,通常会借助一些,例如或等。这些库和API提供了访问摄像头和图像处理的功能。通过使用这些库和API,你可以编写Java代码来调用摄像头并实时获取视频流。然后,你可以选择从视频流中捕获图像并保存为图片文件。这样,你就能够实现在Java中获取实时摄像头进行拍照的功能。

无法自律的人的博客 5432

摄像头拍照并使用java进行照片保存

使用Java调用摄像头进行拍照源码。 JMF安装文件下载地址: http://www.blackswansoft.com/songhaikang/files/myfile/Java Media Framework (JMF) API播放.rar

java调用摄像头进行拍照和保存

简单记录一下步骤,为了以后使用时方便。 1.创建一个springboot项目,pom依赖为 `` <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </depe

m0_55627541的博客 2204

基于Java代码的USB摄像头采集与显示

基于Java代码的USB摄像头采集与显示代码,包含了所有的源代码,是一个很好学习材料。

java调用摄像头拍照

如果是调用usb的摄像头,需要把本地的禁用。资源里有两个功能,查看图像和拍照。

Java实现调用摄像头拍照

使用webcam-capture实现调用电脑摄像头并拍照

m0_65695920的博客 9906

告别有线:用PVE直通无线网卡,打造一台真正的‘无线’Win10软路由/测试机

本文详细介绍了如何通过PVE直通无线网卡技术,构建全无线Win10软路由或测试机。从硬件选型、PVE环境配置到PCIe和USB双模直通技术,逐步指导实现Wi-Fi AP和蓝牙连接功能,为家庭实验室和小型办公环境提供灵活高效的网络解决方案。

weixin_28683689的博客 586

java 连接摄像头并保存录像

如何实现Java连接摄像头并保存录像 1. 整体流程 首先,我们来看一下整个实现过程的步骤,可以使用以下表格来展示: 步骤 操作 1 初始化摄像头设备 2 创建视频录制对象 3 开始录制视频 4 保存录制的视频 5 停止录制视频 6 释放资源 接下来,我们将详细说明每个步骤需要做什么...

weixin_27531501的博客 741

GraphSense介绍

GraphSense是一个跨账本加密货币分析平台 它的介绍在这里 代码也是开源的 graphsense-dashboard 用于交互式加密货币分析的Web仪表板。 可以看导进数据的情况 graphsense-transformation 基于spark/cassandra/java服务运行 GraphSense转换管道,用于将加密货币的区块/交易/标签等数据导入,可以看它指定的json格式: t...

幸福诗歌的博客 1081

漫画安全HIDS、EDR、NDR、XDR

漫画安全HIDS、EDR、NDR、XDR

墨痕诉清风的博客 3444

java jmf 视屏监控的核心代码_Java中利用JMF编写摄像头拍照程序_java

我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了。用于现场拍照,生成照片,主要用到java Media Framework(JMF)。首先到SUN下载最新的JMF,然后安装。http://java.sun.com/products/java-media/jmf/index.jsp然后,说一下需求1. 用摄像头拍照2. 在文本框输入文件名http://w...

weixin_30113575的博客 307

uni-app - 实现全屏自适应且不变形背景大图,设置一张图片占满全屏(根据手机或电脑尺寸自动拉伸背景图像),用于页面是一张平铺的大图做背景的情况,全端兼容

uni-app,vue.js,微信小程序-设置背景图自适应手机屏幕尺寸,页面中的背景图片高度和宽度自适应,UNI-APP里如何设置背景图自适应手机屏幕尺寸,如何实现一个图片铺满整个页面,并且可以根据用户机型进行自动修正,自适应背景大图片官方教程,一个页面如何将图像放到背景上,纯CSS实现,设置背景图片占满全屏,3种CSS实现背景图片全屏铺满自适应的方式,uni-app中如何让图片不带高度的自适应,兼容uni-app全端,支持【纯】微信小程序项目使用,uni-app-实现全屏自适应且不变形背景大图

🏆 前端领域优质创作者 1万+

Java中利用JMF编写摄像头拍照程序(转自:天极开发者网络)

我把程序分为两种,有趣的和无趣的,最近做了几个有趣的项目,其中一个,应当就算是摄像头拍照程序了。用于现场拍照,生成照片,主要用到Java Media Framework(JMF)。   首先到SUN下载最新的JMF,然后安装。http://java.sun.com/products/java-media/jmf/index.jsp  然后,说一下需求  1. 用摄像头拍照  2. 在文本框输入文件

demon_duke的专栏 972

YOLOv10改进 | 代码逐行解析(三) | YOLO中的Mosaic增强详解(新手入门必读系列)

本文给大家带来的是YOLOv10中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了,大家的训练结果中的结果检测图片大家可以看到数据集中多个图片会组合在一起这就是简单的Mosaic增强),下面我就来讲解一下其在YOLOv10中工作原理和代码定义,下面图片为一个Mosaic增强后的图片。​。

Snu77的博客 2075

MIPI CPHY学习笔记02:TX物理层一致性测试项解析(HS信令模式)第一部分

在手机、平板等移动设备中,MIPI C-PHY是连接相机、显示屏等高速外设的“数据高速公路”。高速(HS)信令模式就是这条公路的“快车道”,专门用于传输高清图像、视频等大容量数据,既要保证传输速率,又要维持信号稳定。物理层一致性测试是对这条“快车道”的全面质检,确保高速传输下数据不卡顿、不失真。今天我们聚焦MIPI C-PHY TX(发射端)的Group 2 HS信令测试,用通俗语言拆解22个核心测试项(含2个过时项),看懂高速信号的合格标准。

一只豌豆象的博客 287
上一篇: 取一表前N条记录,各个数据库的不同SQL写法
下一篇: 新手如何做英文站赚美元
simonjo
博客等级 码龄22年 39粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值