Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2021, 00:54   #1
bymoptic
 
Регистрация: 29.06.2008
Сообщений: 6
По умолчанию Как закодировать штрих-кодом и считать в Андроиде двоичное число?

Уважаемые форумцы, здравствуйте!
Подскажите, пожалуйста, как реализовать штрих-кодовое представление двоичного числа и его сканирование Андроид-смартфоном. Например, двоичное 7, это три штриха в младших разрядах, а число 8 - один штрих следующего разряда и три "пустых" младших разряда. Как сделать это понятным программе? Как идентифицировать штрихи, как единицы, а "пустые" места в определённых координатах текста - как нули? Буду признателен за помощь.
С уважением, Юрий, Севастополь
bymoptic вне форума Ответить с цитированием
Старый 08.11.2021, 12:14   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

А в чем проблема? Берете одну из либ,, например, https://github.com/zxing/zxing http://barcode4j.sourceforge.net/ и вперед.
ForenLi вне форума Ответить с цитированием
Старый 09.11.2021, 13:14   #3
bymoptic
 
Регистрация: 29.06.2008
Сообщений: 6
По умолчанию

Уважаемый ForenLi!
Я, к сожалению, не программист, а прикладник-исследователь и мой вопрос касается тривиальной задачи - закодировать и считать номер кадра, расположенный в области перфорации (отверстий для протяжки) стандартной 35-ти миллиметровой фотоплёнки при отсутствии информации в кадре (прозрачная плёнка - голограмма). И светодиодная технология позволяет весьма просто создать на плёнке двоичный код нужного нам (в пределах от 1 до 40) номера кадра. После проявления плёнки и установки её в спец. камеру, тёмно-светлые участки кода считываются электронным блоком, что позволяет выбирать для исследования любой из снятых кадров. Но если плёнка не в аппарате, а в руках, возникает описанная в моём вопросе проблема.
Вы даёте ссылку на сайт и предлагаете: "Берете одну из либ,, например, ... ". А что такое "либ." и как им воспользоваться? Может быть есть понятное пошаговое руководство (для "чайников") по созданию собственного штрих-кода в интересующей меня ситуации?
bymoptic вне форума Ответить с цитированием
Старый 09.11.2021, 13:53   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Боюсь, что пошаговая инструкция по вырезанию аппендицита разработке достаточно специфичной программы не спасёт. Нужно обращаться к профи.
digitalis вне форума Ответить с цитированием
Старый 09.11.2021, 17:28   #5
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от bymoptic Посмотреть сообщение
И светодиодная технология позволяет весьма просто создать на плёнке двоичный код нужного нам (в пределах от 1 до 40) номера кадра.
Цитата:
Сообщение от bymoptic Посмотреть сообщение
по созданию собственного штрих-кода в интересующей меня ситуации?
Я так и не понял, код на плёнке уже есть или таки его нужно создать?
Если есть, и оператор держащий плёнку в руках видит код, то ни чего не нужно изобретать, а скачать любой калькулятор под Андроид, который умеет двоичную систему счисления перевести в десятичную. Т.е. он видит "три штриха в младших разрядах" вводит в калькулятор "111" и получает нашу цифру 7.
Автоматизировать сей процесс считывания телефоном вряд ли разумно, т.к. выйдет дороже, а скорость и достоверность будет ниже.
kvitaliy вне форума Ответить с цитированием
Старый 10.11.2021, 01:35   #6
bymoptic
 
Регистрация: 29.06.2008
Сообщений: 6
По умолчанию

kvitaliy,
Мы здесь не обсуждаем технологию получения неких информационных признаков на плёнке, но они, конечно, созданы и прекрасно работают.
Цитата:
Сообщение от bymoptic Посмотреть сообщение
После проявления плёнки и установки её в спец. камеру, тёмно-светлые участки кода считываются электронным блоком, что позволяет выбирать для исследования любой из снятых кадров
.
А что касается поиска нужного кадра на плёнке "в руках" либо набором каждый раз 40 вариантов двоичных сочетаний единиц и нулей, либо простым нажатием "Скан" в нужном месте, то последнее ставится как одно из условий решения задачи.

Последний раз редактировалось bymoptic; 10.11.2021 в 01:44.
bymoptic вне форума Ответить с цитированием
Старый 10.11.2021, 08:34   #7
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от bymoptic Посмотреть сообщение
но они, конечно, созданы
Глянуть бы на образец.
Если он совпадает по общепринятым стандартам какого либо штрих кода, то задача простая.

Цитата:
Сообщение от bymoptic Посмотреть сообщение
Как идентифицировать штрихи, как единицы, а "пустые" места в определённых координатах текста - как нули?
Пустые места и штрихи это плохо. Пустое место как идентифицировать? Подряд скажем 7 пустых мест или 6, как посчитать без ошибок по фото? Разрешение камер разное, разные размеры фото, разные расстояния...
Вам бы подошёл стандарт Фармакод. Там тонкая полоса это 0, а толстая это 1. Вот это уже проще с точки зрения распознавания.
kvitaliy вне форума Ответить с цитированием
Старый 14.11.2021, 17:06   #8
bymoptic
 
Регистрация: 29.06.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от kvitaliy Посмотреть сообщение
Глянуть бы на образец.
В качестве примера для поставленной задачи, привожу рисунок фотокадра с окружающей его перфорацией Фотокадр с двоичн.. номером.jpg. В нижней части показана информационная область, где отображаются кодирующие метки ("штрихи", которые по технологическим соображениям выполнены круглыми). Особенностью задачи является отсутствие признака двоичного "нуля" (пустое знакоместо). Это действительно создаёт определённы трудности их интерпретации при сканировании. Здесь могли бы помочь реперные метки (см. самая правая внизу кадра). Но и тут проблема. Интересующий нас диапазон значений кадров, как указывалось выше, находится в пределах 1 ... 40, что требует 6-ти разрядного числа. И именно столько у нас информационных "перемычек" в области перфорации и второй, старший, репер поставить некуда. А нельзя ли использовать для этой цели верхнюю строку перфорации? Для примера там начальный и конечный реперы показаны пунктиром. И в алгоритм сканирования внести 2-этапность. Вначале при любом масштабе (степени приближения к плёнке) фиксируется расстояние между реперами и делится программно на 6 по числу наших знакомест. А затем, уже в нижней строке, начиная от уровня первого репера, программа ищет в найденных координатах содержание, которое при наличии светового пятна "видит" единицу, а при его отсутствии - ноль. А дальше уже понятны шаги для получения десятичного эквивалента.
Было бы интересно узнать, насколько такие рассуждения правильны и реальность их осуществления.

Последний раз редактировалось bymoptic; 14.11.2021 в 17:32. Причина: Не вставлен рисунок, указанный в тексте.
bymoptic вне форума Ответить с цитированием
Старый 14.11.2021, 17:24   #9
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от bymoptic Посмотреть сообщение
привожу рисунок фотокадра с окружающей его перфорацией
Чего то нет ни чего
kvitaliy вне форума Ответить с цитированием
Старый 14.11.2021, 18:25   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Насколько точно кадр позиционируется перед считывающим устройством? Если это положение однозначно, то трудностей особых нет. Но если кадр лежит "абы як", да ещё неравномерно освещён в пределах рамки, то трудность возрастает многократно.
Если бы мне такое пришлось делать, я бы взял простой микроконтроллер, который считывал бы изображение (ПЗС или что-то вроде) и управлял бы передвижением плёнки с кадрами.
Но на месте виднее.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
требуется приложение на Андроиде по обработке штрих-кода 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