См. Статью CodeProject: Чтение штрих-кодов с изображения - II .
Автор ( Джеймс ) улучшает (и приписывает) ранее написанную библиотеку VB *1008* для декодирования штрих-кодов из изображения с использованием только кода .NET.
В загружаемом решении есть два проекта:
- Библиотека штрих-кодов - написана на C #
- Тестовое приложение - написано на VB
Я успешно использовал код C # в VS2008 против изображения JPG с расширенным (включая альфа-символы) штрих-кодом с кодом 39.
Библиотека имеет возможность сканировать все изображение на наличие штрих-кода, где штрих-код является только частью. Это имеет хорошие и плохие моменты. Он более гибкий, но вам, возможно, придется разобрать шум. Конечно, вы захотите начать с самого чистого изображения. Кроме того, отсканированный штрих-код должен быть достаточно прямым, не повернутым или скошенным под углом.
Если вы можете ограничить сканирование «кусочком» фактического штрих-кода, вы можете получить более высокую точность.
В комментариях к статье другой пользователь представляет функцию , которая повторно сканирует штрих-код и использует контрольную сумму, что очень удобно, если вы управляете печатью исходного штрих-кода и может включать контрольную сумму в первую очередь.
Есть, конечно, некоторые очень впечатляющие (и некоторые очень дорогие) коммерческие решения, которые имеют преимущество в том, что они хорошо протестированы, более гибки, могут сканировать больше форматов штрих-кодов и более терпимы к качеству изображения благодаря улучшенной выборке изображения , Но это хороший ( бесплатный ) старт!
Вам нужно будет зарегистрироваться в CodeProject, чтобы загрузить код, но это также бесплатно - и того стоит, потому что на этом сайте так много хорошего кода!
ОБНОВЛЕНИЕ: Между прочим, я только что посмотрел на блог , в котором Йоахим Кершбаумер упоминает в еще один ответ на ваш вопрос. Обязательно следите за этим проектом! Это выглядит как очень надежное решение. Если он может читать эти перекос штрих-кодов из этих занятых изображений, то он может делать что угодно!