Я использую этот код в C # для декодирования (не обнаружения) QRCode, и он работает:
LuminanceSource ls = new RGBLuminanceSource(image, image.Width, image.Height);
Result result = new QRCodeReader().decode(new BinaryBitmap(new HybridBinarizer(ls)));
Теперь я хотел бы обнаружить QRCode в более сложном изображении с множеством других вещей, таких как изображения и текст. Я не могу понять, как это сделать, потому что я не могу найти образец, и преобразование Bitmap (C #) в Bitmatrix for Detector (zxing) не такое прямое.
У кого-нибудь есть кусок кода, чтобы дать мне?
спасибо большое
UPDATE
Я пробую этот код, но получаю 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
ОБНОВЛЕНИЕ 02/12/2011
Я только что попытался отсканировать напечатанный QRCode (с фрагментом кода в верхней части поста) с помощью приложения на моем iPhone, и он работает хорошо! Так что проблема, безусловно, в фазе обнаружения / декодирования.