декодировать перевернутый QR-код zxing

Я обнаружил, что в классе FinderPatternFinder есть переменная с именем «int [] stateCount», которая помогает проверять любой возможный шаблон поиска в QR-коде. Чтобы обнаружить/найти шаблоны Finder, я думаю, было бы полезно внести изменения в эту переменную. Любые идеи о том, как обнаружить/декодировать QR-код с инвертированным цветом в Java с помощью ZXing?


person user1139921    schedule 24.01.2012    source источник


Ответы (2)


Я не программист на Java, но, поскольку мне удалось изменить исходный код zxing для реализации сканирования инвертированных кодов в моем проекте iOS, возможно, моя реализация поможет вам.

Инвертировать пиксели — zxing

person Francis Bagan    schedule 13.02.2012
comment
Спасибо Фрэнсис! Вы поместили свою модификацию исходного кода zxing в репозиторий с открытым исходным кодом? - person Uniphonic; 23.02.2017

Не знаю, что вы имеете в виду под инвертированным цветом. Вы имеете ввиду поменять местами свет и тьму? Теоретически у вас должна быть возможность сделать снимок, извлечь яркость и инвертировать его, например, 255-pixel_luminance. Обратите внимание, что тихая зона (окружающая белый цвет) также должна быть инвертирована, т. е. окружающая черная. И, возможно, это все равно не сработает. Эвристика Zxing не всегда симметрична. Вы можете попробовать, но это может не сработать.

Обратите внимание, что zxing извлекает только яркость. Два цвета очень разных оттенков, но одинаковой яркости неразличимы для детекторов/декодеров.

В любом случае, возня с stateCount вряд ли поможет. В этот момент изображение чисто черно-белое, даже без оттенков серого. Вы хотите принять во внимание любые изменения/искажения в вашем изображении до этого и оставить этот код нетронутым.

person smparkes    schedule 25.01.2012