如何从网络摄像头连续捕获图像?
我想尝试对象识别(可能使用java媒体框架).
我在考虑创建两个线程
一个帖子:
其他线程:
我正在研究用于某些场景的半实时检测的图像处理问题.我的目标是让实时视频以某种方式在我的Java代码中作为Motion JPEG帧到达.
我熟悉Java Media Framework,遗憾的是,我认为我们可以认为这是一个有效的死API.我也熟悉Axis盒子,虽然我非常喜欢他们的解决方案,但我会很感激我对我特定兴趣点的任何批评性反馈.
这就是我为此讨论定义"最佳"的方式:
注意:我知道其他图像/视频捕获编解码器,这不是这个问题的焦点.由于帧精度的降低,我对流API(例如MPEG4)特别不感兴趣.但是,如果我的问题有一个解决方案可以提供另一个帧准确的数据流,请加入.
这个问题的后续行动:此时,我非常倾向于购买Axis视频编码器等设备,而不是试图直接在软件或PC上捕获视频.但是,如果有人有其他选择,我很乐意听到他们的意见.
如何在 ubuntu 操作系统中使用 java 中的 swing 使用摄像头 请给我一些通过 java 使用摄像头的示例和指南。
public static void main(String[] args) {
CamDemo t = new CamDemo();
t.getCam();
}
public void getCam() {
try {
/* Grab the default web cam */
MediaLocator ml = new MediaLocator("vfw://0");
DataSource ds = Manager.createDataSource(ml);
requestFormatResolution(ds);
Player p = Manager.createRealizedPlayer(ds);
p.start();
Thread.currentThread().sleep(1000);
JFrame jfrm = new JFrame("Testing Webcam");
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
if (p.getVisualComponent() != null)
jfrm.getContentPane().add(p.getVisualComponent());
if (p.getControlPanelComponent() != null)
jfrm.getContentPane().add(p.getControlPanelComponent(),
BorderLayout.SOUTH);
jfrm.pack();
jfrm.setLocationRelativeTo(null);
jfrm.setVisible(true);
jfrm.setSize(320, 240);
} catch (Exception e) { …Run Code Online (Sandbox Code Playgroud)