Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/76: Рейтинг темы: голосов - 76, средняя оценка - 4.92
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392

Распознавание штрих-кодов

26.02.2010, 18:23. Показов 14275. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Пишу курсовую работу. Нужна библиотека для распознавания штрих-кодов. Желательно бесплатная. Пишу на MS Visual Studio 2008. Кто знает такую, с меня спасибка
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2010, 18:23
Ответы с готовыми решениями:

Задана таблица товаров и их штрих-кодов. Вывести данные при использовании сканера штрих-кода
Привет. Есть таблица с данными: штрих-код был отсканирован сканером, а все остальные данные введены вручную соответственно. При...

Генерация штрих кодов
Кто нибудь сталкивался с генерацией штрих-кодов? Необходимо сгенерировать штрих код в компонент Image. Если у кого то есть какие либо...

Принтер Штрих-кодов
Здравстуйте! Подскажите, пожалуйста, может быть кто-нибудь сталкивался с такой проблемой: принтер штрих-кода вместо одной этикетки печатает...

9
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
27.02.2010, 18:23
Что означает "распознавание штрих-кодов"?
Сканер штрих-кода уже распознает его (это заложено в его firmware) и присылает PC-программулине уже осмысленное сообщение (буквенно-цифровой код). Или тебе нужно нечто иное? Тогда что именно?
0
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392
27.02.2010, 18:48  [ТС]
Мне нужно распознавать штрих-код с изображения jpg или bmp или еще какого-то. Т.е. у меня есть фотография штрих-кода, а мне нужно найти на ней именно штрих-код и расшифровать его.
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
27.02.2010, 20:37
Norby, в принципе, для твоей задачи подойдут нейронные сети. Но тут возникает вопрос: Какие штрих-коды ты собираешься распознавать (EAN13, EAN128, ...)?
Числа в штрих-коде (если ты собираешься распознавать числовые штрих-коды) закодированы двумя черточками. Обучаешь сеть на распознавание каждого числа в штрих-коде, далее сканируешь изображение, находишь в изображении штрих-код, далее с помощью твоей обученной сети распознаешь каждое число в штрих-коде.
Вот вкратце, как я вижу принцип работы твоего приложения.
По поводу штрих-кода: штрих-код
Во вложении пример приложения по распознаванию чисел (после обучения числа можно стирать, удерживая кнопку мыши)

PS: библиотек по данному вопросы не встречал. В принципе, и целью такой не задавался.
Вложения
Тип файла: rar NeuronNetwork.rar (1.35 Мб, 1047 просмотров)
0
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
27.02.2010, 21:12
Norby, обучил нейроны?)
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
27.02.2010, 21:24
Мне кажется более логичным разбить всю картинку на маленькие квадраты. И в каждом искать параллельные чёрные полосы. Если они найдены, то квадрат пометить как подозрительный. Если несколько таких подозрительных квадратов находятся в одной кучи, значит это и есть штрих-код. Можно уже всё остальное отбросить, штрих-код выровнять, что бы полосы были более-менее вертикальными (хотя, не обязательно очень точно. Лишь бы через них можно было провести горизонтальную линию от начала до конца). И можно проанализировать относительное расстояние между полосками... пара самых левых, правых и центральных полоски - это ориентир... по ним можно определить дискрет.
0
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392
27.02.2010, 21:30  [ТС]
дело в том, что штрих код не обязательно будет вертикальным/горизонтальным. Он может быть снят под углом.
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
27.02.2010, 21:43
Цитата Сообщение от Norby Посмотреть сообщение
дело в том, что штрих код не обязательно будет вертикальным/горизонтальным. Он может быть снят под углом.
Это не должно иметь значение... ведь в штрих-коде имеет значение только отношение толщины полоски к толщине пропуска. Поэтому размеры и угол не должны мешать.
0
 Аватар для snake32
3517 / 1700 / 236
Регистрация: 26.02.2009
Сообщений: 8,540
Записей в блоге: 6
27.02.2010, 22:48
Цитата Сообщение от Humanoid Посмотреть сообщение
в штрих-коде имеет значение только отношение толщины полоски к толщине пропуска. Поэтому размеры и угол не должны мешать.
Дык без знания направления считывания я думаю сложно как-то что-то считать адекватное. Ведь если начнёшь считывать параллельно полоске то кроме как одного цвета тебе ничего не попадётся. Впринципе можно попробывать считывать два раза: первый раз в любую сторону, а второй - перпендикулярно первой, тогда может что-то и зацепишь. Для оптимизации конечно желательно как-то определить область на всей картинке, где есть штрих-код. Только как это сделать ума пока не дам. Я ни разу не сталкивался с нейронными сетями наверно поэтому не соображу...
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
27.02.2010, 23:59
Цитата Сообщение от Norby Посмотреть сообщение
дело в том, что штрих код не обязательно будет вертикальным/горизонтальным. Он может быть снят под углом.
Вертеть картинку и сравнивать с "образом" линии. При определенной точности совпадения образа с картинкой считать текущий угол "правильным" и обрабатывать дальше...
Цитата Сообщение от snake32 Посмотреть сообщение
Для оптимизации конечно желательно как-то определить область на всей картинке, где есть штрих-код
Это мне кажется нужно даже не для оптимизации а как часть алгоритма поиска верного угла... Алгоритм мне кажется не сложен - ведь картинка это массив двумерный. Смотрим столбец - все нули (белый) - удаляем его. Так же со строками. Если оказывается что в массиве есть не только белый - прекратить обрезку. Ну это банальный алгоритм с минусами, но в нем что то есть)
Название: line.png
Просмотров: 2579

Размер: 1.4 Кб
Название: 0dg.png
Просмотров: 2543

Размер: 1.5 Кб
TRUE
Аналогия (сравнение по первому столбцу)
1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0
1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0
...
1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0

и
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
...
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 == TRUE... Естественно нужно сравнивать не на 100% а допустим результат в 70% считать нормой.


Название: line.png
Просмотров: 2579

Размер: 1.4 Кб
Название: 30dg.png
Просмотров: 2563

Размер: 3.7 Кб
FALSE => крутим оригинал на другой угол (оригинал - т.к. крутить крученое - ещё большая потеря качества...)
Можно просто прокрутить все углы и выбрать тот где совпадение больше всего
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2010, 23:59
Помогаю со студенческими работами здесь

Сканер штрих кодов
Как работает сабж и 1с? Существуют какие-нибудь доки? З.Ы. требуется реализовать склад с сканером штрих кодов.

Сканер штрих кодов
Имеется сканер штрих кодов Symbol ls2800. Проблема заключается в следующем : сканер подклюючен через СОМ порт; при сканировании штрих кода...

Декодирование штрих-кодов
Добрый день. меня такая проблемка. Сейчас работаю над декодированием штрих-кодов в Zend Framework, но там в биллиотеци, которая отвечает...

Сканеры штрих-кодов
Есть сканер штрих-кодов Он висит на com-порту С помощью dll-ки 1С обрабатывает событие и все ОК Если купить новый сканер в разрыв...

Сканирование штрих-кодов
Как написать метод считывания штрих-кода при помощи камеры андроид моб. устройства? Насколько сложно это может быть?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru