从视频流中检测多个二维码

Multiple QRCode detection from video stream

我正在用 c# 编写一个程序,该程序必须检测和扫描人们粘在胸前的标签(使用安全摄像头)中的二维码,作为第二层安全措施,还必须捕捉他们的面部并进行匹配在数据库中。现在,我能够很好地处理人脸识别,但程序无法一次读取多个二维码。我该如何处理?我正在使用 ZXing 的库以及 Emgu.cv。有更好的选择吗? 我的二维码阅读代码是:

        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;
}

好吧,在咨询另一个网站后问题就解决了,有人告诉我使用 IMultiBarcodereader 将 return 一个数组,其中包含多个代码中的所有解码信息。另外reader.Decode(x)必须做成reader.Decodemultiple(x).

您可以先将reader定义为QRCodeMultiReader,然后定义一个向量来包含结果,因此它会如下所示:

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

如您所知,应该创建 BinaryBitmap