我在swing中创建了一个GUI应用程序。我必须将web cam与我的GUI集成。任何机构都有这个想法?如何将Webcam整合到Java的Swing应用程序中?
6
A
回答
2
Freedom for Media in Java是JMF(API兼容)的替代实现。以防万一你想使用OpenSource库。
7
- 下载并安装JMF
- 添加jmf.jar到项目库
- 下载FrameGrabber源文件并将其添加到您的项目
如下开始捕捉视频使用它。
new FrameGrabber()。start();
要获得底层图像,只需在FrameGrabber引用上调用getBufferedImage()。你可以在Timer任务中做到这一点,例如每33毫秒。
示例代码:
public class TestWebcam extends JFrame {
private FrameGrabber vision;
private BufferedImage image;
private VideoPanel videoPanel = new VideoPanel();
private JButton jbtCapture = new JButton("Show Video");
private Timer timer = new Timer();
public TestWebcam() {
JPanel jpButton = new JPanel();
jpButton.setLayout(new FlowLayout());
jpButton.add(jbtCapture);
setLayout(new BorderLayout());
add(videoPanel, BorderLayout.CENTER);
add(jpButton, BorderLayout.SOUTH);
setVisible(true);
jbtCapture.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
timer.schedule(new ImageTimerTask(), 1000, 33);
}
}
);
}
class ImageTimerTask extends TimerTask {
public void run() {
videoPanel.showImage();
}
}
class VideoPanel extends JPanel {
public VideoPanel() {
try {
vision = new FrameGrabber();
vision.start();
} catch (FrameGrabberException fge) {
}
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (image != null)
g.drawImage(image, 10, 10, 160, 120, null);
}
public void showImage() {
image = vision.getBufferedImage();
repaint();
}
}
public static void main(String[] args) {
TestWebcam frame = new TestWebcam();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(190, 210);
frame.setVisible(true);
}
}
+0
谢谢JRL,我试图实现它,我想知道它是否会自动检测我的摄像头? – 2009-09-05 10:39:35
相关问题
- 1. Java Webcam GUI应用程序
- 2. 如何在Swing应用程序中混合Java Swing和JavaFX?
- 3. 如何开始将Java Swing应用程序迁移到JavaFX?
- 4. 如何将facebook整合到我的iphone应用程序中
- 5. 如何将Google的reCAPTCHA整合到React Native应用程序中?
- 6. 如何将iAd整合到我的Flash应用程序中?
- 7. 如何将phpThumb整合到CodeIgniter应用程序的架构中?
- 8. 如何将WebDAV整合到我的iPhone应用程序中?
- 9. 如何将Zoom.us整合到我的angularJS应用程序中?
- 10. 如何从Java Swing应用程序
- 11. 将Twitter整合到iPhone应用程序
- 12. 如何将Nokogiri整合到Rails应用程序中
- 13. 如何将Twitter支持整合到iOS应用程序中?
- 14. 如何将qml文件整合到qt-widgets应用程序中?
- 15. 如何将twitter,facebook整合到iPhone应用程序中?
- 16. 如何将谷歌地图整合到struts2应用程序中
- 17. 如何将位置信息整合到Twitter应用程序中?
- 18. 如何将文档扫描整合到Qt应用程序中?
- 19. 如何将dagger2整合到GWT应用程序中?
- 20. 如何将贝宝整合到JSF应用程序中
- 21. 如何将torrent下载整合到android应用程序中?
- 22. 如何将Facebook整合到我自己的应用程序?
- 23. 将Java数据库加载到Java Swing应用程序
- 24. 将java程序整合到jsf
- 25. 将选定的文本复制到Swing Java应用程序?
- 26. 如何将java swing应用程序转换为android
- 27. 我应该如何将Google地图整合到我的应用程序中?
- 28. 如何在整个android应用程序中保持java集合
- 29. 将Java Swing应用程序转换为小程序的工具
- 30. 将工程可伸缩性整合到应用程序中
有Java的媒体框架。有了JMF,你可以播放电影,查看摄像头,...也许是你的解决方案 – 2009-09-05 05:55:11