Web-камера со сканером qr-кодов

10.03.13

Разработка - Разработка внешних компонент

Пример работы с web-камерой из 1С с распознаванием qr-кодов. Компонент работы с веб-камерой представлен ActiveX-объектом, выполненным для работы в среде CLR (Microsoft Framework v2.0.50727) x32. В основе работы с видеопотоком лежит библиотека AForge, а за распознавание qr-кодов отвечает библиотека ZXing. Пример представлен вместе с исходными кодами проекта для MS Visual Studio 2010.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
WebCameraPlayerAxCtrl.rar
.rar 2,19Mb
100
100 Скачать (1 SM) Купить за 1 850 руб.

Для работы с компонентой требуется зарегистрировать ее в реестре для COM-взаимодействия. Сборка собрана под х32 (Microsoft Framework v2.0.50727). Этот момент следует учитывать при регистрации сборки в х64 системах, где параллельно существуют обе версии Framework. Все файлы примера доступны в архиве для скачивания и расположены в трех папках:

dll-com (файлы компонента для регистрации и библиотеки, а так же пример регистрации в файле register_me_32.bat )

WebCameraPlayerAxCtrl (исходные файлы проекта компонента для MS VS 2010)

Пример работы веб-камеры (файл внешней обработки для 1С где приведен пример работы с видеокамерой)

Сборка не подписана, поэтому при регистрации следует указывать параметр "/codebase" для задания пути в реестре, по которому следует искать сборку.

Кратко о принципах работы с компонентой:

На форме размещаем элемент управления ActiveX: "WebCameraPlayerAxCtrl.WebCameraPlayerControl"

для элемента управления необходимо назначить обработчки событий:

CustomingSizeVideoSourceInTargetWindowEventTrue (позволяет "подогнать" размер экрана видеокамеры на форме, под текущее разрешение камеры. Данные о видимой области изображения веб-камеры находятся в свойствах компонента frame_VisibleClipBoundsWidthframe_VisibleClipBoundsHeight)

QRCodeToPlaintTextEventTrue (срабатывает при удачном декодировании qr-кода с изображения веб-камеры, расшифрованный текст расположен в свойстве компонента PlaintTextQRCode)

ImageToBase64StringEventTrue (срабатывает после вызова метода компонента GetCurrentImage(), после того как компонент сохраняет в свойстве CurrentImageToSaveBase64 , текущее, на момент вызова метода, изображение, полученное с веб-камеры; хранится изображение в строковом формате Base64)

BarCodeImageToSaveBase64EventTrue (срабатывает после вызова метода компонента GetBarCodeImage(ТекстДляКодирования, 12),   Base64-версия картинки qr-кода хранится в свойстве компонента BarCodeImageToSaveBase64. 12 - это код выбора конструктора ZXing, который отвечает за кодирование текста в QR-формат. Коды других вариантов кодирования можно посмотреть в исходных файлах проекта.)

Метод StopCurrentVideoSource() компонента, стоит вызывать перед закрытием формы обработки, где расположен компонент, для корректного отключения от видеопотока.


Ссылки на проекты исходных кодов:

http://zxingnet.codeplex.com/   (библиотека для работы со штрих-кодами)

http://stackoverflow.com/  (собственно здесь был найден пример ActiveX-компонента и работа с событиями при регистрации .NET сборок для COM-взаимодействия)

http://www.aforgenet.com/  (библиотека для работы с видеопотоками)

P.S.: перед регистрацией компонента стоит предварительно подключить к компьютеру камеру (реальную или виртуальную).

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    54134    9    69    

46

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1177    3    4    

3

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47407    124    66    

67

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3661    3    0    

5

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77574    72    257    

191

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    28783    138    100    

91

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2278    bayselonarrend    14    

48

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    4927    kovalevdmv    26    

75
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DoctorRoza 10.03.13 19:01 Сейчас в теме
Из-за личной безграмотности не понимаю зачем это нужно, но написано умно! :) Возьму на заметку! :)
2. пользователь 20.03.13 00:26
Сообщение было скрыто модератором.
...
3. Геннадьевич 20 22.03.13 18:35 Сейчас в теме
Очень интересно.
Как быстро происходит опознание кода? Какова точность? Это тестировалось?
4. andrei.k 27.03.13 08:11 Сейчас в теме
Спасибо большое. Для первичной внутренней инвентаризации и учета техники нашего отдела АСУ самое то. Вместо вэб-камеры можно подключить камеру смартфона, там разрешение побольше.
5. Геннадьевич 20 27.03.13 11:40 Сейчас в теме
(4) andrei.k, Уже пробовали? Как результаты?
6. andrei.k 27.03.13 11:56 Сейчас в теме
(5) Геннадьевич, не пробовал, не качал. Мне идея понравилась. Так как есть проблема, сейчас над ней и думаем, по учету техники. И для входящей очень даже ничего. Сканер штрих-кода еще не скоро купим, конкурсы долбанные, да и то пока только для делопроизводителей в документооборот. А так исходники есть, напишем свое что-нибудь.
7. Геннадьевич 20 27.03.13 12:03 Сейчас в теме
(6) andrei.k, Понятно. Бюджетная организация?
8. andrei.k 27.03.13 12:46 Сейчас в теме
9. djvu 145 28.03.13 16:32 Сейчас в теме
Как быстро происходит опознание кода? Какова точность? Это тестировалось?


при fps > 5-7 ловит смытые и наклонные поверхности, задержек визуальных при распознании не замечал. Разрешение не критично, 320 все ловит нормально даже в условиях не очень хорошего освещения. Опять же обрабатывать можно не весь экран, а некоторую его часть.
При fps < 5 не ловит статику (во всяком случае на той камере, без автофокуса, на которой проверяли) соответственно код не распознает.
10. Геннадьевич 20 28.03.13 18:08 Сейчас в теме
(9) djvu, Спасибо, вот это ответ, который я хотел услышать, ясно и четко.
11. пользователь 16.04.13 10:58
Сообщение было скрыто модератором.
...
12. BAMPER 06.05.13 05:10 Сейчас в теме
Огромный + за данную разработку!!!
У меня при открытии выскакивает:
{Форма.Форма.Форма(18,2)}: Переменная не определена (РаботаСоСтрокамиРасширенная)
<<?>>РаботаСоСтрокамиРасширенная.ОРВИнициализироватьПоУмолчанию(об_РгВ);
{Форма.Форма.Форма(57,2)}: Переменная не определена (РаботаСоСтрокамиРасширенная)
<<?>>РаботаСоСтрокамиРасширенная.ОРВПолучитьМассивСовпаденийСШаблоном(об_РгВ, тек_стр_ТЗ.тек_СтрокаСВебКамеры, шаблон_ПоискРгВ, массив_Результаты, РазмерМассива);

Что можно сделать?
13. BAMPER 20.05.13 11:16 Сейчас в теме
Все работает как, надо =)
Распознает очень быстро, особенно если разрешение выставить максимальное.
Есть правда еще вопрос: Можно ли установить время(или паузу) до следующего распознавания?
А то значение PlaintTextQRCode слишком быстро меняется.
14. djvu 145 21.05.13 16:44 Сейчас в теме
BAMPER
Самое простое, что приходит на ум - распознал картинку, игнорируешь следующие кадры до какого либо кода подтверждения.
15. Marina__ 04.06.13 00:12 Сейчас в теме

У меня при открытии выскакивает:
{Форма.Форма.Форма(18,2)}: Переменная не определена (РаботаСоСтрокамиРасширенная)
<<?>>РаботаСоСтрокамиРасширенная.ОРВИнициализироватьПоУмолчанию(об_РгВ);
{Форма.Форма.Форма(57,2)}: Переменная не определена (РаботаСоСтрокамиРасширенная)
<<?>>РаботаСоСтрокамиРасширенная.ОРВПолучитьМассивСовпаденийСШаблоном(об_РгВ, тек_стр_ТЗ.тек_СтрокаСВебКамеры, шаблон_ПоискРгВ, массив_Результаты, РазмерМассива);

Что можно сделать?


То же самое. Как исправить?
16. djvu 145 10.09.13 16:21 Сейчас в теме
(105) Gazza,
Файл без ошибок во вложении.
Прикрепленные файлы:
Web-камера.epf
17. Bond 13.10.13 21:13 Сейчас в теме
djvu, скажите пожалуйста, PDF417 читает? и можно ли переделать на УФ?
18. djvu 145 23.10.13 16:01 Сейчас в теме
to Bond
За декодирование ШК отвечает библиотека - ZXing, насколько я помню - с PDF417 она справляется.
По поводу управляемых форм - компонента сделана как ActiveX, т.е. ей должно быть все равно куда вы ее влепите и чем будут выступать обработчики событий.
19. borrman 16.04.14 20:03 Сейчас в теме
(18) К сожалению, не все равно. ТК не работает с ActiveX (
20. Oleeeg 08.12.14 11:53 Сейчас в теме
А как зарегистрировать в х64 системе?
При изменении пути на Framework64\v2.0.50727 все-равно пишет ошибку про недопустимую сборку NET
21. djvu 145 30.01.15 11:54 Сейчас в теме
Дык исходники для этого и выложил, пересобрать надо под x64 и/или держать 32-битную версию фреймверка и к ней путь прописать в системной path
22. iov 407 12.03.15 18:57 Сейчас в теме
(21) djvu, не будет ли наглостью попросить пересобрать под 64 x ? Ибо даже установка VS и курение мануалов так и не дало желаемого результата.
23. kill3rl88p 19 29.10.15 13:44 Сейчас в теме
Добрый день, на планшете с Win 10 работать будет? или надо пересобирать? или даже это не поможет?)
24. djvu 145 29.10.15 17:44 Сейчас в теме
(23)
В новом браузере по идее - нет (вроде бы там от ActiveX - отказались совсем). В 1С и старой версии эксплорера должно (при условии, что на этой аппаратной платформе работают Aforge (и Zxing)).

В общем, многое зависит от аппаратной плаформы, что под нее умеют фреймверки майкрософтовские (Aforge - вроде бы не порт, а вот на счет ZXing - не уверен).
25. arman1997 23 21.12.22 13:22 Сейчас в теме
Здравствуйте. Можно уточнить? В обработке есть функция которая считывает qr-код по изображению переданному в виде base64 строка?
26. djvu 145 21.12.22 17:22 Сейчас в теме
(25) arman1997

У вас есть base64-строка кода и вы хотите узнать что закодировано qr-кодом?
Оставьте свое сообщение