Я использую этот код в C # для декодирования (не обнаружения) QRCode, и он работает:
LuminanceSource ls = new RGBLuminanceSource(image, image.Width, image.Height);
Result result = new QRCodeReader().decode(new BinaryBitmap(new HybridBinarizer(ls)));
Теперь я хотел бы обнаружить QRCode в более сложном image с множеством других вещей, таких как изображения и текст. Я не могу понять, как это сделать, потому что я не могу найти какой-либо образец, а преобразование Bitmap (C #) в Bitmatrix for Detector (zxing) не так прямолинейно.
У кого-нибудь есть фрагмент кода, который мне можно дать?
большое спасибо
Я пробую этот код, но получаю исключение ReaderException:
Код:
LuminanceSource ls = new RGBLuminanceSource(bitmap, bitmap.Width, bitmap.Height);
QRCodeMultiReader multiReader = new QRCodeMultiReader();
Result[] rs = multiReader.decodeMultiple(new BinaryBitmap(new HybridBinarizer(ls)), hints);
return rs[0].Text;
Исключение
com.google.zxing.ReaderException:
in com.google.zxing.qrcode.detector.FinderPatternFinder.selectBestPatterns()
in com.google.zxing.qrcode.detector.FinderPatternFinder.find(Hashtable hints)
in com.google.zxing.qrcode.detector.Detector.detect(Hashtable hints)
in com.google.zxing.qrcode.QRCodeReader.decode(BinaryBitmap image, Hashtable hints)
in com.google.zxing.qrcode.QRCodeReader.decode(BinaryBitmap image)
in ...Logic.BarCodeManager.QRCodeReader(Bitmap bitmap) in
Я только что попытался отсканировать напечатанный QR-код (с фрагментом кода вверху сообщения) с помощью приложения на моем iPhone, и оно работает хорошо! Так что проблема, безусловно, в обнаружении / декодировании фаза.