Складские фотографии: коды, справочник и ручной разбор
После приёмки на складе остаются фотографии коробок, пакетов и отдельных изделий. На них видны линейные штрихкоды и QR-коды, но переносить каждое значение вручную долго. Для такого потока можно заказать серверный проект пакетного считывания: получить значения с привязкой к снимку, сверить их с корпоративным справочником и передать исключения сотруднику. Результатом станет проверяемая подборка записей, а не автоматически подтверждённый складской остаток.
Запросить
Сначала решить, какой код нужен складу
На одной коробке могут одновременно находиться товарная этикетка, транспортная наклейка и QR-ссылка на инструкцию. Все три кода могут читаться правильно, но отвечать на разные вопросы. До разработки определяют, какие обозначения используются в вашем учёте: собственная номенклатура, код поставщика, упаковки или отдельного экземпляра.
Полезно выбрать одну операцию для первого этапа. Например, подготовить список распознанных товарных кодов из фотографий определённого поступления. Фотография связывается с этим поступлением заранее; найденный на ней код не должен самостоятельно определять поставщика, дату или число принятых предметов. Такие сведения приходят из учётного процесса и подтверждённых документов.
Одна находка — значение, формат и место на снимке
ZXing-C++ — открытая библиотека обработки линейных и матричных штрихкодов. Её официальный пример ReadBarcodes возвращает список найденных кодов, а объект Barcode предоставляет содержание, формат и положение на изображении. Поэтому приложение можно проектировать с отдельной записью для каждой находки: исходное фото, область кода, декодированное значение и его формат.
Положение удобно показывать рамкой поверх фотографии, чтобы оператор видел источник записи. Для одного снимка допускается несколько находок. Если программа нашла только транспортную этикетку, это не означает, что товарный код тоже прочитан. Отсутствие нужного кода должно оставаться самостоятельным результатом обработки, а не исчезать вместе с фотографией из итоговой таблицы.
Декодирование ещё не выбирает товарную карточку
Следующим этапом значение сопоставляют с вашим справочником. В нём нужны подтверждённые связи между кодом, поставщиком, видом упаковки и собственной номенклатурой. Правило зависит от того, что именно закодировано. Нельзя заранее объявить любой длинный цифровой ряд артикулом товара или серийным номером устройства.
Если соответствие единственное и разрешено правилами проекта, приложение предлагает связанную запись. Неизвестное значение, несколько совпадений и устаревшая связь направляются на ручной разбор. Сотруднику нужны сама находка, контекст поступления и кандидаты из справочника. Замена неизвестного значения ближайшим похожим кодом создаст ошибку даже при безупречном чтении изображения.
Справочник тоже имеет версию и ответственного. Если связь изменили после поступления товара, должно быть понятно, по какому состоянию данных сформирован прежний результат. Код не подтверждает совместимость радиостанции, исполнение запасной части, исправность или происхождение предмета. Эти свойства проверяют по своим основаниям.
Сохранять исходное представление кода
Ведущие нули и разделители могут быть значимы для вашей схемы идентификации. Поэтому исходное значение сохраняют отдельно от представления, подготовленного для поиска. ZXing-C++ различает исходные байты и текстовое представление; правила интерпретации согласуют для используемых форматов и содержимого.
QR-код может содержать адрес сайта либо другой текст. В этом проекте найденную ссылку сохраняют как данные и показывают сотруднику; автоматически открывать её, скачивать содержимое или выполнять действие не требуется. Совпадение адреса с известным шаблоном также не заменяет принятого правила связи с товарной записью.
Исключения должны быть видны в результате партии
Для каждой фотографии полезно различать состояния: нужный код прочитан и сопоставлен, код прочитан без соответствия, найдено несколько спорных вариантов, либо пригодного результата нет. Блик, маленькая этикетка и закрытый фрагмент отправляются на пересъёмку или ручное уточнение. Значение не восстанавливают по соседнему товару только ради заполненной строки.
Повторный снимок одной коробки и две одинаковые коробки — разные ситуации. Число найденных кодов нельзя автоматически превратить в количество единиц на складе. В проекте отдельно определяют связь фотографий с предметами, правила повторной загрузки и того, кто подтверждает итог перед переносом в учёт.
Принимать рабочую подборку, затем выбирать сервер
Для пробы подготовьте разрешённые фотографии: один нужный код, несколько разных этикеток, неизвестное значение, повторный кадр и плохое качество. Сравнивают правильность декодирования, выбор нужной этикетки, связь со справочником и удобство разбора исключений. Экспорт или интеграция с учётной системой согласуются отдельно от чтения изображения.
Начальную конфигурацию можно рассматривать на CPU. GPU для этого сценария не является обязательным условием; необходимость ускорителей устанавливают только по фактическим компонентам и нагрузке. В расчёт входят размеры фотографий, объём партии, хранение, база соответствий и работа операторов. Показатели скорости заранее не обещаем.
Собственная платформа AI Server Manager 256 рассматривается под новый проект; смежный вариант — AI Server Manager 128. «Суперинтеллект» — название направления, само декодирование не объявляется нейросетью. Числа не обозначают RAM или VRAM. Конфигурацию, цену, состояние, наличие и срок подтвердим предложением. Программы, применимые лицензии, подготовку справочника, интерфейс, интеграцию и сопровождение согласуем по составу. Доставку по России и Казахстану рассчитываем по адресу.
Сервер и складское приложение

AI Server Manager 256
Цена по запросу. Доступность, состояние, фактические CPU, GPU, память, накопители и срок согласуем в КП. Число 256 в названии не определяет RAM или видеопамять. Программы, лицензии, подготовку справочника, пилот и интеграцию выделяем в согласованный объём работ. Доставка по России и Казахстану рассчитывается по городу и составу заказа.
ЗапроситьДля сравнения по собственной спецификации: AI Server Manager 128 и AI Server Manager 384. Названия моделей не заменяют проверку конфигурации под согласованную обработку складских фотографий.
Первичные источники: ZXing-C++: назначение, форматы и ReadBarcodes; ZXing-C++ Barcode: значение, формат и положение кода; ZXing-C++ ReaderOptions: форматы, результаты и текстовое представление. Они описывают декодирование штрихкодов и поля результата. Совместимость программного решения с предлагаемой машиной, версии и лицензии подтверждаются отдельно; предустановка и показатели скорости не обещаются.