[英]How to detect a QR code, take a snapshot and decode it in java using primefaces photocam feature
[英]Webcam - detect QR code, take snapshot and decode
我目前正在尝试编写Java程序,以利用内置的笔记本电脑网络摄像头或外部USB网络摄像头。 希望它将与PC和Mac兼容。
我想知道是否有人知道可以处理所有内容的图书馆? 我真的不想重新发明轮子,我也不知道从哪里开始:1)检测网络摄像头,2)在检测到QR码时拍摄快照。
我对ZXing解码条形码图像非常熟悉。
我搜寻了很多东西,我强烈怀疑我要寻找的图书馆不存在,但是值得一问!
我的第一个问题在这里,所以我希望这很清楚!
编辑:或者,如果不存在,您能指出检测到QR码时如何从网络摄像头拍摄快照的正确方向吗? :)
谢谢
本示例介绍如何使用Webcam Capture库和ZXing读取QR码数据。 Webcam Capture与32位和64位Windows,Linux和Mac OX兼容。 对于Linux,它还支持ARM体系结构。
代码很简单:
Webcam webcam = Webcam.getDefault(); // non-default (e.g. USB) webcam can be used too
webcam.open();
Result result = null;
BufferedImage image = null;
if (webcam.isOpen()) {
if ((image = webcam.getImage()) == null) {
continue;
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
try {
result = new MultiFormatReader().decode(bitmap);
} catch (NotFoundException e) {
// fall thru, it means there is no QR code in image
}
}
if (result != null) {
System.out.println("QR code data is: " + result.getText());
}
您可以使用gstreamer来与您的相机进行交互。 对于Windows,它可能是再次gstreamer或DirectShow。 在这两种情况下,您都需要使用一些特殊的过滤器来捕获数据,在DirectShow中,它将是SampleGrabber。 我认为gstreamer应该提供一些类似的插件。
zxing有一个到Actionscript的端口,该端口可以通过Flash(可访问网络摄像头)使用。 该端口有些旧,并非100%完整,但应该可以使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.