我搜索了所有的论坛,我找不到答案(这是我的第一篇文章,很遗憾可能出现错误)。
我已经下载了Zxing包,我想让qr代码解码器工作(在c#中,一个WPF应用程序)。问题是我在编译时没有出错,而且应用程序运行良好(我从kinect rgb摄像头获取输入流)但似乎没有任何效果。
我报告了一些代码(可能是我犯了一些错误......):
RGBLuminanceSource ls = new RGBLuminanceSource(bit, frame.Width,frame.Height);
Result result = new QRCodeReader().decode(new BinaryBitmap(new HybridBinarizer(ls)));
if (result != null)
Console.WriteLine("yahoo!");
else
Console.WriteLine("oh no");
框架是由kinect捕获的框架,而bit是RGBLuminanceSource想要输入的byte []数组,我是这样做的:
byte[] bit= new byte[frame.PixelDataLength];
colorFrame.CopyPixelDataTo(bit);
当我把带有二维码的纸张放在相机前面时,它总是给我回复“哦不”的信息,我无法弄清楚我做错了什么。
答案 0 :(得分:1)
据我所知,您从kinect相机获得的图像被翻转。 您必须在解码前将其翻转。 你可以在这里找到更多细节: http://zxingnet.codeplex.com/discussions/401772
答案 1 :(得分:0)
万一有人偶然发现了这个问题,您可以检查的东西很少。
从ZXing git下载QRCodeDecoder示例并准备就绪
将位图文件保存到文件夹位置。
检查保存的图像是否从QRCodeDecoder正确解码。
如果您通过网络摄像头或其他视频源将其用于QR码扫描仪,请检查是否以正确的像素格式转换位图图像。
希望这会有所帮助