从图像中读取二维条码

时间:2012-04-10 07:30:34

标签: c# icsharpcode

我需要一个库来从C#项目(windows Forms)上的图像中读取二维条码(datamatrix)。 我尝试使用一些SDK,但我尝试的SDK不是免费的。

是否有免费的SDK用于从图像中读取2d条形码?

2 个答案:

答案 0 :(得分:4)

example available

  using DataMatrix.net;               // Add ref to DataMatrix.net.dll
  using System.Drawing;               // Add ref to System.Drawing.
  [...]

  // ---------------------------------------------------------------
  // Date      180310
  // Purpose   Get text from a DataMatrix image.
  // Entry     sFileName - Name of the barcode file (PNG, + path).
  // Return    The text.
  // Comments  See source, project DataMatrixTest, Program.cs.
  // ---------------------------------------------------------------
  private string DecodeText(string sFileName)
  {
      DmtxImageDecoder decoder = new DmtxImageDecoder();
      System.Drawing.Bitmap oBitmap = new System.Drawing.Bitmap(sFileName);
      List<string> oList = decoder.DecodeImage(oBitmap);

      StringBuilder sb = new StringBuilder();
      sb.Length = 0;
      foreach (string s in oList)
      {
          sb.Append(s);
      }
      return sb.ToString();
  }

您需要DataMatrix.net

答案 1 :(得分:2)

我使用过的最好的免费Datamatrix编码器\解码器是libdmtx:http://www.libdmtx.org/。它有c#wrapper,所以随意使用它。我现在不能编写示例代码,但是如果你自己无法处理它,我会稍后帮助你。

编辑: libdmtx附带了console utils - 如果你能用控制台应用程序读取你的条形码,你肯定会用代码阅读它。

EDIT2: 这是代码示例:http://libdmtx.wikidot.com/libdmtx-net-wrapper

我想知道你是否有包含其他信息的图片,条形码除外。问题是 - 我不知道任何免费\开源lib来处理在图片上查找条形码,正确包含任何其他数据。 这里是其他数据矩阵实现的链接:http://www.libdmtx.org/resources.php