从视频流中检测多个二维码
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
。
我正在用 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
。