2014-01-07 2 views
0

Я хочу декодировать несколько QR-код с помощью метода zxing.net и DecodeMultiple, но по умолчанию он возвращает результат нулевой коллекции. Когда я изменяю размер изображения и затем декодирую большую часть QR-кода, был успешно декодирован, но один или два небольших QR-кода не декодируются. Вот мои картинки: enter image description here enter image description herezxing.net штрих-код декодирования без изменения размера

и вот мой код:

BarcodeReader reader = new BarcodeReader(); 
reader.PossibleFormats = new List<BarcodeFormat>(); 
reader.PossibleFormats.Add(BarcodeFormat.QR_CODE); 
reader.AutoRotate = false; 
reader.TryHarder = false; 
Bitmap input = (Bitmap)Bitmap.FromFile(Application.StartupPath + "\\1.jpg"); 
Resize_Picture(Application.StartupPath + "\\1.jpg", Application.StartupPath + "\\1_resized.jpg", 800, 0, 100); 
var results = reader.DecodeMultiple((Bitmap)Bitmap.FromFile(Application.StartupPath + "\\2.jpg")); 

Почему эта картина требуется изменить размер ?? лучший размер для QR-кода. Пожалуйста, направляйте меня для декодирования без изменения размера изображения. благодаря

После Edit (добавить QR-код для теста):

загрузить свой QR Cod вы можете скачать с here.

ответ

1

Насколько я вижу, бинаризатор по умолчанию имеет некоторые проблемы с цветом фона и сглаживанием вокруг QR-кодов. Вы должны использовать GlobalHistogramBinarizer.

BarcodeReader reader = new BarcodeReader(null, 
    bitmap => new BitmapLuminanceSource(bitmap), 
    luminance => new GlobalHistogramBinarizer(luminance)); 
+0

Спасибо за ваш повтор, но ваше решение не работает. Я обновляю вопрос и добавляю файлы .jpg. – b24

+0

Файлы JPG используют цветовое пространство CMYK, которое на самом деле не поддерживается BitmapLuminanceSource. Пожалуйста, сначала конвертируйте его в RGB. В противном случае только вариант TryInverted = true даст какие-либо результаты. Но этот параметр не работает корректно с классом QRCodeMultiReader. Это зафиксировано в rev. 87947. Надеюсь, я смогу добавить поддержку CMYK в следующей версии библиотеки. – Michael