繁体   English   中英

网络摄像头-检测QR码,拍摄快照并解码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM