从视频流中进行多个QRCode检测

时间:2016-06-20 15:12:56

标签: c# opencv computer-vision zxing emgucv

我正在制作一个c#程序,它必须检测并扫描人们粘在胸前的标签(使用安全摄像头)的Qr代码,并且作为第二层安全措施还必须抓住他们的面孔并将它们匹配在一起。数据库。现在,我能够很好地处理面部识别,但程序一次无法读取多个Qr代码。我怎么能处理这个?我正在使用ZXing的库以及Emgu.cv.有更好的选择吗? 我的QR阅读代码是:

        bitmap = frame.Bitmap;
        txtQreader.Text = Qrreader(bitmap); //it's inside an if, not that it matters :p


    private string Qrreader(Bitmap x)
{
    BarcodeReader reader = new BarcodeReader { AutoRotate = true, TryHarder = true };
    Result result = reader.Decode(x);
    string decoded = result.ToString().Trim();
    return decoded;
}

2 个答案:

答案 0 :(得分:1)

问题解决了,在咨询了另一个网站之后,告诉我使用IMultiBarcodereader会返回一个数组,其中包含多个代码中包含的所有解码信息。此外,reader.Decode(x)必须设为reader.Decodemultiple(x)

答案 1 :(得分:0)

您可以先将阅读器定义为QRCodeMultiReader,然后定义一个包含结果的向量,如下所示:

QRCodeMultiReader reader;
vector<Ref<Result>> results(reader.decodeMultiple(bitmap, DecodeHints(DecodeHints::TRYHARDER_HINT)));

您可能已经知道应该创建BinaryBitmap

相关问题