Moim celem jest wykrycie wielu datamatrices na większy obraz jak ten (cztery duże):Skanowanie wielu kody kreskowe z zxing.net
podstawie kilku próbek kodu, zrobiłem mały program testowy :
Bitmap image = getImage();
DataMatrixReader reader = new DataMatrixReader();
GenericMultipleBarcodeReader genericReader = new genericMultipleBarcodeReader(reader);
Dictionary<DecodeHintType, object> hints = new Dictionary<DecodeHintType,object>();
hints.Add(DecodeHintType.TRY_HARDER, true);
BitmapLuminanceSource source = new BitmapLuminanceSource(image);
HybridBinarizer binarizer = new HybridBinarizer(source);
BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
Result[] results = genericReader.decodeMultiple(binaryBitmap,hints);
show(results);
Nie można wykryć żadnego kodu na dużym obrazie.
Ale może wykryć kod, gdy jego przycięte tak:
Potem połączyła dwa wygenerowane macierze danych, a nie udało się też:
Ostatni Przeprowadziłem dwa kolejne testy z lekko przyciętymi obrazami, oba nie powiodły się:
Wydaje się więc ta biblioteka nie jest mocna w ogóle, czy może użyć to źle.
Każdy pomysł, jak poprawić moje wyniki? (Łącznie z innymi bibliotekami i wyprzedzającym)