Часто проблема заключается в разнице в минимальном фокусном расстоянии. То есть, если устройство Motorola не может сфокусироваться так близко, то расширение прямоугольника может заставить пользователя держать штрих-код так близко, что он будет слишком близко к фокусу. Я бы посмотрел на это в первую очередь.
В противном случае вы хотите улучшить обработку изображений для этого случая. Проблема в том, что приложение выполняет простую пороговую обработку, которая хорошо работает в обычных случаях. Он падает, когда у вас есть плотные одномерные штрих-коды, ширина полосы которых приближается к 1 пикселю. Поскольку каждый пиксель либо черный, либо белый, вы пропорционально теряете много деталей о том, где именно находятся полосы.
Если это действительно проблема, вы можете переписать свое приложение, чтобы использовать захват с камеры в полном разрешении вместо предварительного просмотра. В обычных случаях большее разрешение не помогает; в этих случаях может. Таким образом, вы не сможете иметь приложение непрерывного сканирования.
Я один из разработчиков сканера штрих-кода и поддерживаю (платную) расширенную версию под названием Сканер штрих-кода+. Он имеет другой алгоритм обработки изображений, который находит границы в субпиксельном разрешении, что лучше работает для таких кодов. Возможно, вы захотите посмотреть, как это работает, и если это работает хорошо, по крайней мере, это подскажет вам, какой подход работает лучше. Я не могу выслать вам этот код, но могу описать, что он делает, если вы хотите исследовать такую обработку изображений.
person
Sean Owen
schedule
16.11.2011