2016-03-17 2 views
0

Отсканированное изображение содержит 96 штрих-кодов. Ниже приведен пример.Многие барокаты datamatrix на одном изображении

Чтобы читать штрих-коды, я пользуюсь библиотекой inliteresearch.com.

Если на изображении отсутствует один или несколько штрих-кодов (то есть он содержит менее 96 штрих-кодов, другими словами, вместо штрих-кода есть пробел), как я могу читать штрих-коды непрерывно и возвращать null, если штрих-код не существует на фотографии?

Пример: штрих-код 65 отсутствует. Возврат всех значений штрих-кодов от 1 до 64, то нуль для 65, то значения от 66 до 96.

image Example

+1

Если размер каждого штрих-кода всегда один и тот же, вы можете разделить основное изображение на сетку и затем обрабатывать ячейки один за другим. – jhamon

+1

Описывает ли эта библиотека расположение кодов? –

+0

Я не могу получить ширину и высоту кода, но я могу получить координаты слева, справа, сверху, внизу –

ответ

0

Если положение и размер РСЧ известно использование трансформирования (оценка суб-изображений на фиксированных позициях). Затем поместите результат вашего считывателя DMC в массив.

Чтобы найти DMC неизвестного расположения/положения, вы можете подсчитать пробелы после расширения (либо расширить бинарное изображение, либо применить максимальный фильтр к серому изображению) Отсортировать обнаруженные координаты BLOB по их положению или независимо от того, что вы хотите. Затем используйте собранные позиции, чтобы получить соответствующие субимазы для чтения DMC.

Собственные библиотеки чтения DMC обеспечивают считывание нескольких кодов одновременно и положение DMC после чтения. Если это так, вы можете просто сортировать свои DMC по положению и проверять наличие пробелов.

+0

Вы можете отправить ссылку для скачивания библиотеки DMC? –

+0

@SamvelMalintsyan Я работаю только с проприетарным программным обеспечением. Наверное, вы ищете что-то бесплатно. Не нашли бесплатную, которая соответствует моим потребностям. не предоставляет ли ваша библиотека код позиции? – Piglet

+0

Я использую эту библиотеку для чтения штрих-кодов https://github.com/Inlite/wabr-java –

1

Горизонтальные и вертикальные выступы изображения (сумма значений пикселей вдоль строк или столбцов) четко указывают вам, где находятся строки кода.

enter image description here

Тогда это простой вопрос, чтобы найти трансформирование, содержащее индивидуальные коды.


Если у вас есть координаты центров кодов, вы можете сгруппировать их в столбцах следующим образом: сортировке по увеличению X, и вычислить дельты. Затем отсортируйте дельта, уменьшив значения. Самые большие дельта рассказывают вам, где можно разделить вертикальные линии и дать вам оценку высоты поля.

Смежные вопросы