Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/68: Рейтинг темы: голосов - 68, средняя оценка - 4.71
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241

Штрих-код

17.02.2013, 12:37. Показов 14485. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Учебная задача: чтение штрих-кода с картинки или web-камеры.
Подскажите как можно распознать простенький штрих-код (ITF-14 к примеру) через WEB-камеру или с картинки.
Покопал интернет - для создания компоненты есть, а вот для чтения исходников не нашел ...
Касательно ITF-14 загадкой остается следующее: допускается 100% увеличение или 25% уменьшение кода (насколько я понял). Это будет играть роль при получении через WEB-камеру или с картинки? Логически можно после каждого цикла определения сравнивать с ключем, но как это реализовать не представляю.
Заранее спасибо всем отозвавшимся!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2013, 12:37
Ответы с готовыми решениями:

штрих-код
Скачала шрифт Barcode.ttf. Задача в том, что нужно генерировать штрих-код в БД Interbase. Есть ли готовые решения(не обязательно с этим...

Сканер штрих код
Здравствуйте уважаемые! в общем никто не сталкивался программировать для устройства сканер штрих кода? хочу программу сделать на делфи,...

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

24
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241
17.02.2013, 16:06  [ТС]
Спасибо за материал, буду штудировать!
PS: Сколько интересного на сайте-то
0
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241
27.02.2013, 18:24  [ТС]
Что-то не получается у меня. К веб-камере подключается, снимок сохраняет, а вот zbarcode не хочет работать - не распознает. Даже не с фотографии а с рисунка EAN-13 кода пишет "scanned 0 barcode symbols from 1 images" ...
Изображения
 
0
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241
27.02.2013, 18:50  [ТС]
Уважаемый raxp, при создании статьи Вы наверно сталкивались с этой проблемой?
PS: Юзал скомпилированное Вами приложение. Подключается к вебке, делает снимок, но zbar не распознает ...
Потом руками из Far запускал - тот же результат (постом выше). В чем может быть проблема?
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.02.2013, 19:14
...а от того, что вы будете по всем контактам стучать я быстрее не появлюсь, это форум, а не чат. Уведомление приходит всем отписавшимся в теме.

Ваша картинка в общем кадре имеет слишком малую площадь. Для нормальной работы алгоритма распознавания само изображение в кадре должно занимать хотя бы четверть кадра, а у вас размер картинки 121х64 пкс в общем кадре 640х480 пкс. Увеличьте изображение штрих-кода и все будет оки:
1
126 / 44 / 1
Регистрация: 04.11.2011
Сообщений: 241
27.02.2013, 22:04  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
...а от того, что вы будете по всем контактам стучать я быстрее не появлюсь, это форум, а не чат. Уведомление приходит всем отписавшимся в теме.
Сначала так хотел спросить, но потом сюда все же написал - думал будет долгая дискуссия. Спасибо за ответ! Все работает!
0
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 11:41
У меня точно такая же трабла. Хотя, штрихкод на картинке - практически на весь экран.
Пробовал заграбленную пикчу проетстировать с помощью проекта в папке "тест распознавания". Результат такой-же.
Миниатюры
Штрих-код  
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 12:28
...если сама либа справится не может, то и проект граба ни при чем.
...приложите вашу пикчу в теме, вечером посмотрю (сейчас под андроидом).
0
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 12:38
Весь прикол в том, что если скопировать файл grab.bmp в папку "тест распознавания" и переименовать его в 3.png, то всё отрабатывает)
А автоматом - нет(

Может, в оси дело? Тестирую на Win7.

Похоже, затык на строке:
Delphi
1
memo1.Lines.Add(GetDosOutput(dir+'zbarimg.exe', 'grab.bmp'));
В процедуре:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Timer1Timer(Sender: TObject);
var b: tbitmap;
    dir: pansichar;
begin
 timer1.Enabled:= false;
 dir:= pansichar(extractfilepath(paramstr(0)));
 
 // граб кадра с устройства видеозахвата
 b:= TBitmap.Create;
 SampleGrabber.GetBitmap(b);
 b.SaveToFile('grab.bmp');
 b.Free;
 
 // запуск консоли и перехват через Pipes
 if fileexists('grab.bmp') then
//  memo1.Text:= GetDosOutput(dir+'zbarimg.exe', 'grab.bmp');
    memo1.Lines.Add('-------***--------');
    memo1.Lines.Add(GetDosOutput(dir+'zbarimg.exe', 'grab.bmp'));
    memo1.Lines.Add('-------***--------');
 timer1.Enabled:= true
end;
Она возвращает пустое значение.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 12:51
1- вы ZBARIMG используете из приложенного к проекту или качали отдельно?
2- приложите ваш grab.bmp (в архиве, дабы форумный движок не влиял) в теме, одних слов недостаточно.
3- если у вас zbarimg срабатывает исключительно на png (его тоже в тему), то достаточно быстро преобразовать bitmap в памяти можно через gdi+ (пара строк кода) и в дальнейшем передавать в командной строке png.
1
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 13:16
Тут проблема в том, что Pansichar(extractfilepath(paramstr(0))) возвращает только букву диска. Т.е. D или С (В зависимоти от того, откуда программа запускается). Это Я решу сам. Пока для теста запускаю с жестко указанным путем к каталогу:
Delphi
1
dir:= pansichar('c:\cam\');
Запуск
Delphi
1
GetDosOutput(dir+'zbarimg.exe', 'grab.png'))
возвращает "?????????????????". Значит, что-то с выходной строкой.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 13:27
...вы кодировочку-то не забывайте учитывать ...да и резко переключаете свои задачи, где приложенный граб на рассмотрение общественности, где ответы на остальные вопросы?

...extractfilepath() только букву диска? ...это что-то новое, попробуйте передать ей не paramstr(0), а application.exename.
1
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 13:29
Цитата Сообщение от raxp Посмотреть сообщение
... где ответы на остальные вопросы?
Скорее всего, ответом на все вопросы будет моя криворукость.
Сейчас попробую разобраться с кодировкой и убрать статику пути к каталогу, тогда и отпишусь кодом.
0
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 13:49
ZBARIMG я использовл из проекта.
В архиве - картинка + код юнита.
Всё отрабатывает, кроме возвращаемой стоки. Что с кодировкой пока не разобрался.
Вложения
Тип файла: rar cam.rar (367.7 Кб, 240 просмотров)
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 14:31
oem, вы ведь с консолью работаете + дельфя юникодная небось.
1
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 15:49
Цитата Сообщение от raxp Посмотреть сообщение
oem, вы ведь с консолью работаете + дельфя юникодная небось.
Embarcadero® Delphi® 2010.
Кодировку никак не победю. Совсем.
Добавил функцию:
Delphi
1
2
3
4
5
function StrOemToAnsi(const S: AnsiString): AnsiString;   //   Из Oem в Ansi
begin
  SetLength(Result, Length(S));
  OemToAnsiBuff(@S[1], @Result[1], Length(S));
end;
Добавляю строчку в Memo:
Delphi
1
    memo1.Lines.Add(StrOemToAnsi (GetDosOutput(dir+'zbarimg.exe', 'grab.bmp')));
Нихт. Опять кодировка не та. Куда копать?
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 16:32
...вам слова - ansi, юникод что-то говорят?
0
 Аватар для mongol
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 12
26.03.2013, 16:43
Если вы пытаетесь определить мой IQ или уровень программирования - врядли это удастся. Я сюда пришел за помощью.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 16:59
...мне от вас ничего не надо, в том числе определять ваш ай-кю, за юникод сказал второй раз (это при том, что в статье указана конкретная версия Delphi под которой все разрабатывалось), а теперь внимательно посмотрите на ваш код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2013, 16:59
Помогаю со студенческими работами здесь

Компонент Штрих-кода
Здравствуйте! Скажите есть ли такой компонент QR (2 мерный) для того что бы я его в квик репорт мог запихать, и он генирировался по мной...

Помогите найти шрифт штрих-код, который штрих-сканеры читают
Здравствуйте, сорри знаю не по теме так как не нашел решил писать здесь. Мне надо печатать по принтеру штрих код. Я нашел не мало...

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

Штрих код и 1с
Как сделать чтоб 1с создавала и распознавала Штрих код? Я скачал компоненту OcvitaBarcode.ocx зарегистрировал ее а что делать дальше?

Штрих код
Добрый день! Озадачился такой проблемой. Во многих магазинах, аэропортах, стадионах и тд используются сканеры штрих-кодов. Подскажите,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru