- 浏览: 684188 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
Hippyqq:
谢谢很有用,
java中遍历MAP的几种方法 -
XSoftlab:
超详细。。。Java map 详解 - 用法、遍历、排序、常用 ...
java中遍历MAP的几种方法 -
bobo22:
importnet.sf.fmj.ui.application ...
java来调用电脑视频摄像头拍照进行截图 -
qq981378640:
#include <stdio.h>
int ...
c语言中unsigned类型和普通类型间的转换 -
qq981378640:
楼主你这样有点复杂了,直接这样写更好更方便
#include ...
c语言中unsigned类型和普通类型间的转换
packagecom.pengo.capture;
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.Graphics2D;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjavax.imageio.ImageIO;
importjavax.media.MediaLocator;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importnet.sf.fmj.ui.application.CaptureDeviceBrowser;
importnet.sf.fmj.ui.application.ContainerPlayer;
importnet.sf.fmj.ui.application.PlayerPanelPrefs;
publicclassCameraFrameextendsJFrame{
privatestaticintnum =0;
publicCameraFrame()throwsException{
this.setTitle("摄像头截图应用");
this.setSize(480,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finalJPanel cameraPanel =newJPanel();
this.getContentPane().setLayout(newBorderLayout());
this.getContentPane().add(cameraPanel, BorderLayout.CENTER);
ContainerPlayer containerPlayer =newContainerPlayer(cameraPanel);
MediaLocator locator = CaptureDeviceBrowser.run(null); //弹出摄像头设备选择
// MediaLocator locator = null;
// GlobalCaptureDevicePlugger.addCaptureDevices();
// Vector vectorDevices = CaptureDeviceManager.getDeviceList(null);
// if (vectorDevices == null || vectorDevices.size() == 0)
// {
// System.out.println("没有摄像头===");
// return;
// }
// //选择第一个摄像头设备
// for ( int i = 0; i < vectorDevices.size(); i++ )
// {
// CaptureDeviceInfo infoCaptureDevice = (CaptureDeviceInfo) vectorDevices.get(i);
// System.out.println("设备名===============" + infoCaptureDevice.getName());
// //选择第一个设备为程序使用,如果存在多个设备时,则第一个可能不是摄像头
// locator = infoCaptureDevice.getLocator();
// break;
// }
PlayerPanelPrefs prefs =newPlayerPanelPrefs();
containerPlayer.setMediaLocation(locator.toExternalForm(), prefs.autoPlay);
JPanel btnPanel =newJPanel(newBorderLayout());
finalJTextField path =newJTextField("E:\\camera");
path.setColumns(30);
btnPanel.add(path, BorderLayout.WEST);
JButton okBtn =newJButton("截图");
okBtn.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvent e){
Dimension imageSize = cameraPanel.getSize();
BufferedImage image =newBufferedImage(imageSize.width,
imageSize.height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = image.createGraphics();
cameraPanel.paint(g);
g.dispose();
try{
String filePath = path.getText();
File file =newFile(filePath);
if(file.exists() ==false){
file.mkdirs();
}
ImageIO.write(image,"png",newFile(file.getAbsolutePath() +"/"+ num +".png"));
num++;
}catch(IOException ex) {
ex.printStackTrace();
}
}
});
btnPanel.add(okBtn, BorderLayout.EAST);
this.getContentPane().add(btnPanel, BorderLayout.SOUTH);
}
publicstaticvoidmain(String[] args)throwsException{
CameraFrame camera =newCameraFrame();
camera.setVisible(true);
}
}
转:
http://www.ablanxue.com/prone_3338_1.html
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.Graphics2D;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjavax.imageio.ImageIO;
importjavax.media.MediaLocator;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importnet.sf.fmj.ui.application.CaptureDeviceBrowser;
importnet.sf.fmj.ui.application.ContainerPlayer;
importnet.sf.fmj.ui.application.PlayerPanelPrefs;
publicclassCameraFrameextendsJFrame{
privatestaticintnum =0;
publicCameraFrame()throwsException{
this.setTitle("摄像头截图应用");
this.setSize(480,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finalJPanel cameraPanel =newJPanel();
this.getContentPane().setLayout(newBorderLayout());
this.getContentPane().add(cameraPanel, BorderLayout.CENTER);
ContainerPlayer containerPlayer =newContainerPlayer(cameraPanel);
MediaLocator locator = CaptureDeviceBrowser.run(null); //弹出摄像头设备选择
// MediaLocator locator = null;
// GlobalCaptureDevicePlugger.addCaptureDevices();
// Vector vectorDevices = CaptureDeviceManager.getDeviceList(null);
// if (vectorDevices == null || vectorDevices.size() == 0)
// {
// System.out.println("没有摄像头===");
// return;
// }
// //选择第一个摄像头设备
// for ( int i = 0; i < vectorDevices.size(); i++ )
// {
// CaptureDeviceInfo infoCaptureDevice = (CaptureDeviceInfo) vectorDevices.get(i);
// System.out.println("设备名===============" + infoCaptureDevice.getName());
// //选择第一个设备为程序使用,如果存在多个设备时,则第一个可能不是摄像头
// locator = infoCaptureDevice.getLocator();
// break;
// }
PlayerPanelPrefs prefs =newPlayerPanelPrefs();
containerPlayer.setMediaLocation(locator.toExternalForm(), prefs.autoPlay);
JPanel btnPanel =newJPanel(newBorderLayout());
finalJTextField path =newJTextField("E:\\camera");
path.setColumns(30);
btnPanel.add(path, BorderLayout.WEST);
JButton okBtn =newJButton("截图");
okBtn.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvent e){
Dimension imageSize = cameraPanel.getSize();
BufferedImage image =newBufferedImage(imageSize.width,
imageSize.height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = image.createGraphics();
cameraPanel.paint(g);
g.dispose();
try{
String filePath = path.getText();
File file =newFile(filePath);
if(file.exists() ==false){
file.mkdirs();
}
ImageIO.write(image,"png",newFile(file.getAbsolutePath() +"/"+ num +".png"));
num++;
}catch(IOException ex) {
ex.printStackTrace();
}
}
});
btnPanel.add(okBtn, BorderLayout.EAST);
this.getContentPane().add(btnPanel, BorderLayout.SOUTH);
}
publicstaticvoidmain(String[] args)throwsException{
CameraFrame camera =newCameraFrame();
camera.setVisible(true);
}
}
转:
http://www.ablanxue.com/prone_3338_1.html
评论
1 楼
bobo22
2016-06-23
importnet.sf.fmj.ui.application.CaptureDeviceBrowser;
importnet.sf.fmj.ui.application.ContainerPlayer;
importnet.sf.fmj.ui.application.PlayerPanelPrefs;
去哪里弄这几个jar包
importnet.sf.fmj.ui.application.ContainerPlayer;
importnet.sf.fmj.ui.application.PlayerPanelPrefs;
去哪里弄这几个jar包
发表评论
-
java应用CPU占用100%内存泄漏分析总结
2017-11-28 08:46 588转; http://www.blogjava.net/hank ... -
Java Mysql存取Blob数据
2014-10-21 12:54 1568当数据库字段为blob类型时 ,我们如果使用PreparedS ... -
关于日志的等级 的配置
2014-07-02 16:49 637#这里定义能显示到的最低级别,若定义到INFO级别,则看不到D ... -
Extjs中如何在一行textfield后面加几个字
2014-04-14 16:38 1537{ fieldLabel : '输入框', xtype : ' ... -
数据库中图片的操作(字节流的操作)
2013-12-09 17:26 832package com.fww.util; import j ... -
java 获得本地ip
2013-11-28 18:04 898Enumeration allNetInterfaces = ... -
java多线程下载的例子代码
2013-09-09 16:16 0java多线程下载的例子代码 import java.io.I ... -
java中lucene解析word工具类
2013-09-09 15:32 1061java中lucene解析word工具类(读取word文档并查 ... -
Java 向oracle插入百万数据
2013-09-09 15:30 1554这里的表是没加索引的 ... -
java 写 excel
2013-08-28 10:29 1003import java.io.FileOutputStream ... -
list 排序
2013-06-20 20:43 1092import java.util.Collections; i ... -
java抓取网络图片放到本地
2013-05-07 10:39 4315import java.io.BufferedInputStr ... -
java代码发送JSON格式的httpPOST请求
2013-05-06 13:41 20405package com.test; import java. ... -
java操作excel(HSSF样式) .
2013-04-15 15:06 1996java操作excel(HSSF样式一) import ja ... -
JAVA+Ftpclient操作
2013-03-07 16:35 6591最近再做个ftp上传、下载的项目,用到的包是sun.net.f ... -
自动消除文本框中的空格;js清除空格问题,去除空格问题
2013-03-01 11:22 6323自动消除文本框中的空格;js清除空格问题,去除空格问题 要完成 ... -
java执行Linux命令 .
2012-12-26 09:29 1312/** * 修改Linux目录权限 * @param ... -
UUID生成类
2012-12-16 18:18 2509import java.net.InetAddress; im ... -
java反射获得类的字段和值
2012-12-10 17:26 1642import java.util.HashMap; impo ... -
jquery UI
2012-11-20 22:46 1348jQuery ui 是基于 jquery 基础类库开发的开源的 ...
相关推荐
以上步骤是基础的Java调用摄像头拍照的流程。如果需要更高级的功能,比如预览、调整摄像头参数或者处理实时视频流,JavaCV库提供了丰富的API供开发者使用。同时,考虑到跨平台兼容性,确保在不同操作系统上测试代码...
在Java编程环境中,调用摄像头...总的来说,Java调用摄像头拍照涉及到对多媒体框架的理解和使用,以及可能的权限管理。无论是通过JMF还是JavaFX,都需要对Java的IO和多线程有一定的掌握,以确保程序的稳定性和性能。
Java调用电脑摄像头拍照实现例子,运用的是开源项目webcam-capture实现的;详情看这里:https://blog.csdn.net/qq_22078107/article/details/85927626
Java调用摄像头拍照是计算机视觉应用中的一个常见需求,尤其在开发基于Web的应用时,例如视频会议、在线证件照拍摄等。本示例基于`webcam-capture`库,一个强大的Java库,允许开发者轻松地访问和控制电脑上的摄像头...
本项目聚焦于使用Java和OpenCV库调用摄像头进行拍照,并将拍摄的照片保存到本地,同时支持通过FTP服务上传至远程服务器。下面将详细阐述这个过程中涉及的关键知识点。 1. **Java编程语言**: Java是一种广泛使用的...
h5、js调用视频摄像头,录像,拍照(直接就可以用的)
在本文中,我们将深入探讨如何使用Java调用海康威视(Hikvision)的SDK来实现在本地存储摄像头的视频数据。海康威视作为全球知名的安防产品供应商,提供了丰富的SDK供开发者集成到自己的应用中,使得我们可以方便地...
以下是对标题“java Swing 中调用摄像头拍照源码(有说明)”和描述的详细解释,以及相关知识点的深入探讨。 1. **Swing简介**: Swing是Java的GUI库,它基于Java Foundation Classes (JFC),提供了一套轻量级的...
以上就是使用Java和JMF调用摄像头拍照的基本流程。需要注意的是,JMF在某些现代操作系统上可能支持不够完善,可能会遇到兼容性问题。另外,JMF的API较为复杂,使用起来可能有些困难。为了解决这些问题,开发者可以...
java微信公众号调用手机摄像头拍照和本地相册,上传服务器,java微信公众号内部调用本地摄像头,web项目
以上就是Android调用前后置摄像头拍照的基本步骤。你可以根据实际需求进行扩展,比如添加闪光灯控制、设置拍照质量、裁剪图片等。这个`Android_Camera`压缩包文件可能包含了实现上述功能的完整代码示例,你可以参考...
<title>JS调用摄像头拍照 拍照"> <video id="video" width="640" height="480" autoplay></video> <canvas id="canvas" width="640" height="480"></canvas> document.getElementById('takePhoto')....
总的来说,使用Java和OpenCV同时打开多个USB摄像头拍照涉及了Java编程、OpenCV库的使用、摄像头的读取和处理,以及可能的并发处理。理解这些知识点并熟练运用,将能实现高效稳定的多摄像头应用程序。
JNI允许Java代码调用本地(C/C++)库,而libusb4java则提供了Java接口来操作USB设备,包括摄像头。 在USB摄像头采集过程中,我们需要识别并连接到USB摄像头设备。这通常涉及枚举USB总线上的设备,找到符合特定供应...
标题中的“多种方式ASP调用摄像头拍照并保存插件”是指在不同的Web开发环境中,如ASP、ASP.NET、JSP和PHP,实现调用用户电脑或服务器上的摄像头进行拍照,并将拍摄的照片保存到服务器的技术解决方案。这个插件可能...
在 Android 应用开发中,调用摄像头拍照和视频功能是非常常见的场景,本文将对 Android 实现调用摄像头拍照与视频功能进行详细介绍。 一、应用场景 在 Android 开发过程中,有时需要调用手机自身设备的功能,例如...
本实例是关于如何使用Java调用摄像头的一个具体应用,通过集成Xuggler库来实现这一功能。Xuggler是一个强大的开源Java库,它允许开发者对音视频数据进行读取、编辑和写入操作。 首先,我们来了解一下Java调用摄像头...
在本文中,我们将深入探讨如何使用Java Swing和OpenCV库来调用摄像头,实现拍照功能,并将拍摄的照片本地保存以及支持上传至FTP服务器。通过理解并应用这些知识点,你可以创建一个用户友好的桌面应用程序,方便地...
Java摄像头拍照程序是一种利用Java Media Framework (JMF) 或者其他相关库来访问并操作电脑摄像头,实现拍照功能的应用。JMF是Java平台上的多媒体框架,允许开发者处理音频、视频和流媒体数据。在这个程序中,我们将...