Tôi cần thư viện để đọc mã vạch 2D (datamatrix) từ hình ảnh trên dự án C# (cửa sổ Biểu mẫu) tôi đã thử nó bằng cách sử dụng các sdk khác, nhưng sdk đó không phải là free.Is có sdk miễn phí là có để đọc 2d Mã vạch từ hình ảnh?Đọc mã vạch 2D từ hình ảnh
Trả lời
Có một 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();
}
Bạn sẽ cần DataMatrix.net!
Tôi đã cố gắng sử dụng nó, nhưng nó không thể giải mã các ký tự unicode đúng cách (nó đã được 2 năm trước, tôi đoán) - i mã hóa chuỗi, trong đó có ký tự tiếng Nga và nó không cho tôi kết quả thích hợp về giải mã. – cookieMonster
@cookieMonster thực sự là DataMatrix.net là một thư viện net C# /. Để mã hóa và giải mã các mã DataMatrix (dựa trên một cổng .net của libdmtx) .' - vì vậy nó dựa trên libdtmx được đề xuất của bạn. btw - bạn đã gửi một lỗi-vé @ DataMatrix.net khi đi qua ký tự Nga? –
nó có thể là 'dựa trên', nhưng nó không phải là một cổng .net, libdmtx có cổng riêng của nó và nó hoạt động tốt hơn về giải mã. – cookieMonster
Bộ giải mã mã vạch Datamatrix miễn phí tốt nhất mà tôi đã sử dụng là libdmtx: http://www.libdmtx.org/. Nó có C# wrapper, vì vậy hãy sử dụng nó. Tôi không thể viết mã mẫu ngay bây giờ, nhưng nếu bạn không thể tự xử lý nó, tôi sẽ giúp bạn một chút sau đó.
EDIT: libdmtx đi kèm với bảng điều khiển utils - nếu bạn có thể đọc mã vạch của bạn với ứng dụng bảng điều khiển, bạn chắc chắn sẽ đọc nó bằng mã.
EDIT2: Dưới đây là các mẫu mã: http://libdmtx.wikidot.com/libdmtx-net-wrapper
Tôi tự hỏi nếu bạn có ảnh chứa một số thông tin khác, ngoại trừ mã vạch. Vấn đề là - tôi không biết bất kỳ lib nguồn mở nào để xử lý việc tìm mã vạch trên một bức ảnh, chứa bất kỳ dữ liệu nào khác đúng cách. Và đây là liên kết đến các triển khai datamatrix khác: http://www.libdmtx.org/resources.php
http://www.codeproject.com/Articles/10162/Creating-EAN-13-Barcodes-with-C, http://community.bartdesmet.net/ blog/bart/archive/2006/09/18/4432.aspx, http://www.idautomation.com/formscontrols/free/, ... spec nào bạn đang cố gắng làm theo? –
tôi cần phải đọc dữ liệu 2D từ một hình ảnh –
một lần nữa: spec nào? –