|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.11.2021, 00:54 | #1 |
Регистрация: 29.06.2008
Сообщений: 6
|
Как закодировать штрих-кодом и считать в Андроиде двоичное число?
Уважаемые форумцы, здравствуйте!
Подскажите, пожалуйста, как реализовать штрих-кодовое представление двоичного числа и его сканирование Андроид-смартфоном. Например, двоичное 7, это три штриха в младших разрядах, а число 8 - один штрих следующего разряда и три "пустых" младших разряда. Как сделать это понятным программе? Как идентифицировать штрихи, как единицы, а "пустые" места в определённых координатах текста - как нули? Буду признателен за помощь. С уважением, Юрий, Севастополь |
08.11.2021, 12:14 | #2 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
А в чем проблема? Берете одну из либ,, например, https://github.com/zxing/zxing http://barcode4j.sourceforge.net/ и вперед.
|
09.11.2021, 13:14 | #3 |
Регистрация: 29.06.2008
Сообщений: 6
|
Уважаемый ForenLi!
Я, к сожалению, не программист, а прикладник-исследователь и мой вопрос касается тривиальной задачи - закодировать и считать номер кадра, расположенный в области перфорации (отверстий для протяжки) стандартной 35-ти миллиметровой фотоплёнки при отсутствии информации в кадре (прозрачная плёнка - голограмма). И светодиодная технология позволяет весьма просто создать на плёнке двоичный код нужного нам (в пределах от 1 до 40) номера кадра. После проявления плёнки и установки её в спец. камеру, тёмно-светлые участки кода считываются электронным блоком, что позволяет выбирать для исследования любой из снятых кадров. Но если плёнка не в аппарате, а в руках, возникает описанная в моём вопросе проблема. Вы даёте ссылку на сайт и предлагаете: "Берете одну из либ,, например, ... ". А что такое "либ." и как им воспользоваться? Может быть есть понятное пошаговое руководство (для "чайников") по созданию собственного штрих-кода в интересующей меня ситуации? |
09.11.2021, 13:53 | #4 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,546
|
Боюсь, что пошаговая инструкция по
|
09.11.2021, 17:28 | #5 | |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
Цитата:
Если есть, и оператор держащий плёнку в руках видит код, то ни чего не нужно изобретать, а скачать любой калькулятор под Андроид, который умеет двоичную систему счисления перевести в десятичную. Т.е. он видит "три штриха в младших разрядах" вводит в калькулятор "111" и получает нашу цифру 7. Автоматизировать сей процесс считывания телефоном вряд ли разумно, т.к. выйдет дороже, а скорость и достоверность будет ниже. |
|
10.11.2021, 01:35 | #6 | |
Регистрация: 29.06.2008
Сообщений: 6
|
kvitaliy,
Мы здесь не обсуждаем технологию получения неких информационных признаков на плёнке, но они, конечно, созданы и прекрасно работают. Цитата:
А что касается поиска нужного кадра на плёнке "в руках" либо набором каждый раз 40 вариантов двоичных сочетаний единиц и нулей, либо простым нажатием "Скан" в нужном месте, то последнее ставится как одно из условий решения задачи. Последний раз редактировалось bymoptic; 10.11.2021 в 01:44. |
|
10.11.2021, 08:34 | #7 | |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
Глянуть бы на образец.
Если он совпадает по общепринятым стандартам какого либо штрих кода, то задача простая. Цитата:
Вам бы подошёл стандарт Фармакод. Там тонкая полоса это 0, а толстая это 1. Вот это уже проще с точки зрения распознавания. |
|
14.11.2021, 17:06 | #8 |
Регистрация: 29.06.2008
Сообщений: 6
|
В качестве примера для поставленной задачи, привожу рисунок фотокадра с окружающей его перфорацией Фотокадр с двоичн.. номером.jpg. В нижней части показана информационная область, где отображаются кодирующие метки ("штрихи", которые по технологическим соображениям выполнены круглыми). Особенностью задачи является отсутствие признака двоичного "нуля" (пустое знакоместо). Это действительно создаёт определённы трудности их интерпретации при сканировании. Здесь могли бы помочь реперные метки (см. самая правая внизу кадра). Но и тут проблема. Интересующий нас диапазон значений кадров, как указывалось выше, находится в пределах 1 ... 40, что требует 6-ти разрядного числа. И именно столько у нас информационных "перемычек" в области перфорации и второй, старший, репер поставить некуда. А нельзя ли использовать для этой цели верхнюю строку перфорации? Для примера там начальный и конечный реперы показаны пунктиром. И в алгоритм сканирования внести 2-этапность. Вначале при любом масштабе (степени приближения к плёнке) фиксируется расстояние между реперами и делится программно на 6 по числу наших знакомест. А затем, уже в нижней строке, начиная от уровня первого репера, программа ищет в найденных координатах содержание, которое при наличии светового пятна "видит" единицу, а при его отсутствии - ноль. А дальше уже понятны шаги для получения десятичного эквивалента.
Было бы интересно узнать, насколько такие рассуждения правильны и реальность их осуществления. Последний раз редактировалось bymoptic; 14.11.2021 в 17:32. Причина: Не вставлен рисунок, указанный в тексте. |
14.11.2021, 17:24 | #9 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
|
14.11.2021, 18:25 | #10 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,546
|
Насколько точно кадр позиционируется перед считывающим устройством? Если это положение однозначно, то трудностей особых нет. Но если кадр лежит "абы як", да ещё неравномерно освещён в пределах рамки, то трудность возрастает многократно.
Если бы мне такое пришлось делать, я бы взял простой микроконтроллер, который считывал бы изображение (ПЗС или что-то вроде) и управлял бы передвижением плёнки с кадрами. Но на месте виднее. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
требуется приложение на Андроиде по обработке штрих-кода | Buratinogood | Фриланс | 2 | 19.08.2013 17:24 |
Как считать int-овское число из файла в переменную? (Си) | farewe11 | Помощь студентам | 5 | 31.05.2010 19:46 |
как побитово разбить двоичное число? | slon_slon_slon | Общие вопросы C/C++ | 4 | 08.11.2009 21:07 |
Как быть со штрих-кодом? | alsq | Общие вопросы Delphi | 1 | 11.04.2007 19:24 |