在这里,我编写了一些代码来使用java从USBcam捕获图像。
下面是代码:
Webcam webcam = Webcam.getDefault();
webcam.open();
try {
ImageIO.write(webcam.getImage(), "PNG", new File("d:/hello-world1.png"));
System.out.println(Thread.currentThread().getName());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}我已经添加了3罐任何时候都需要的,但是当运行应用程序时,图像没有得到,异常会被引发。
下面的是例外:
Exception in thread "main" com.github.sarxos.webcam.WebcamException: Cannot execute task
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(WebcamProcessor.java:57)
at com.github.sarxos.webcam.WebcamProcessor.process(WebcamProcessor.java:120)
at com.github.sarxos.webcam.WebcamTask.process(WebcamTask.java:35)
at com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.open(WebcamOpenTask.java:20)
at com.github.sarxos.webcam.Webcam.open(Webcam.java:187)
at com.github.sarxos.webcam.Webcam.open(Webcam.java:147)
at ImageCapture.main(ImageCapture.java:16)
Caused by: com.github.sarxos.webcam.WebcamException: Cannot start native grabber!
at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDevice.open(WebcamDefaultDevice.java:220)
at com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.handle(WebcamOpenTask.java:38)
at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:66)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)请告诉我什么地方出了问题。
发布于 2014-01-07 13:16:58
如果查看源代码,如果Cannot start native grabber返回false where grabber=new OpenIMAJGrabber(); (原生Bridj代理),则会引发消息Bridj。这个陷阱使得诊断变得困难,因为真正的异常是隐藏的。似乎存在一个本机库访问问题,因此应该检查.so或.dll是否确实在您的类路径中。您应该考虑调试以查看grabber是否有良好的实例化..。
https://stackoverflow.com/questions/20971664
复制相似问题