Декодировать штрих-код из отсканированного документа

95
8

Я использую библиотеку ZXing для.NET, и я не могу получить результат из предоставленного изображения. После второй до последней строки result равен нулю, поскольку BarcodeReader не обнаружил никаких штрих-кодов в изображении. Есть ли что-то, что мне не хватает в том, как настроить BarcodeReader?

BarcodeReader reader = new BarcodeReader()
{
AutoRotate = true,
TryInverted = true,
Options = new DecodingOptions
{
TryHarder = true,
PureBarcode = true,
PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.CODE_39 }
}
};

LuminanceSource source = new ZXing.BitmapLuminanceSource(bitmapImage);
Result result = reader.Decode(source);

Console.WriteLine(result == null ? "Nothing" : result.Text);

enter image description here

enter image description here

спросил(а) 2014-09-22T23:13:00+04:00 6 лет, 5 месяцев назад
1
Решение
104

ZXING не выполняет никакой обработки изображений. Он просто отображает определенные точки из изображения, используя свой внутренний алгоритм. (В 2D штрих-кодах набор точек, вероятно, будет читаться слева направо в центральной строке)

Если изображение слишком мало в разрешении, как показано на рисунке. Очень вероятно, что ZXING не пересказывал его.

Что вы можете сделать, это написать свой собственный метод бинаризации изображения. Простым методом было бы установить пороговое значение, возможно, 128, если диапазон пикселей равен 0-255. Назначьте все значения выше 255, все значения ниже равны 0. Пост-обработанное изображение может быть лучше для распознавания ZXING.

ответил(а) 2014-09-23T00:02:00+04:00 6 лет, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема