0

我使用这个算法在页面上打印了一些简短的二维码(如“HAEB16653”):

private void CreateQRCodeFile(int size, string filename, string codecontent)
{
  QRCodeWriter writer = new QRCodeWriter();
  com.google.zxing.common.ByteMatrix matrix;
  matrix = writer.encode(codecontent, BarcodeFormat.QR_CODE, size, size, null);
  Bitmap img = new Bitmap(size, size);
  Color Color = Color.FromArgb(0, 0, 0);
  for (int y = 0; y < matrix.Height; ++y)
  {
    for (int x = 0; x < matrix.Width; ++x)
    {
      Color pixelColor = img.GetPixel(x, y);
      //Find the colour of the dot 
      if (matrix.get_Renamed(x, y) == -1)
      {
        img.SetPixel(x, y, Color.White);
      }
      else
      {
        img.SetPixel(x, y, Color.Black);
      }
    }
  }
  img.Save(filename, ImageFormat.Png);
}

使用集成的 WP7 bing 扫描和搜索,打印的条形码工作得非常好和快速。

当我尝试使用Stéphanie Hertrichs 示例应用程序扫描相同的打印二维码时,扫描速度非常慢,大多数根本不扫描,或者只有当我慢慢旋转相机时才会被识别。

如何让我的扫描与集成条码识别一样可靠?我只需要扫描二维码,所以我禁用了所有其他的,但大部分时间它仍然不起作用。

是否有其他一些更好的条形码扫描库?

4

3 回答 3

2

Stéphanie Hertrichs 示例应用程序中的 silverlight 端口非常古老。在我看来,codeplex 的项目自 1 年多以来就不再维护了。您应该尝试更新和维护的端口之一,例如ZXing.Net

于 2012-09-04T13:12:17.203 回答
1

zxing 效果很好——只需在 Android 上尝试一下。如果它是 Bing 搜索的动力,我不会感到惊讶。

问题可能出在港口。任何非 Java 端口充其量都是陈旧且不完整的。我也无法谈论您正在查看的示例中使用的方法的效率。例如,它真的对来自 API 的图像进行了正确的二值化吗?还要确保它没有使用 TRY_HARDER 模式。

于 2012-06-12T08:52:39.443 回答
0

这个问题没有客观答案...

我个人的看法是,您尝试过的 ZXing 库(Stéphanie Hertrichs 示例应用程序)是您能得到的最好的。据我所知,它也用于其他平台(例如 Android)。

几个月前我测试了这个库,我觉得它运行起来非常可靠和快速,但可能是你有其他情况(照明、相机、角度等......)

于 2012-06-12T08:40:01.120 回答