Обновить
21
0
Дмитрий Воронцов@dv1555

Пользователь

Отправить сообщение

Это не готовое решение, а учебный пример для платформы. Я мог бы сделать например пример для транспортной логистики или производства, но сделал для склада. Готовые решения на симпле это например решения Simple.Kit. Что касается 1Совских мобильных решений, то их на самом деле две - "мобильная платформа" и "мобильный клиент". И я как внедренец 1С с 20+ летним бэкграундом прекрасно осведомлен в их возможностях, поэтому и написал свою платформу. Причины если коротко - производительность, скорость разработки и распространённость стека. Если не коротко то надо глубоко разбираться в нюансах. Это ж инструменты, их нельзя сравнивать по критерию хороший/плохой. Это как сказать что есть молоток, он хороший, поэтому с Пн все отвертки выбрасываем, оставляем только молоток)) По поводу "почему гибрид" - потому что мне надо было продемонстрировать новые подходы к хранению (раньше был только SQL). Ну а в целом - WMS это всегда онлайн. Без онлайна у вмс, можно убирать букву M, потому что это уже не management а только accounting)) Но покрытие есть не везде к сожалению, есть склады, уличные территории где полагаться на мобильный инет или вайфай нельзя.

Забыл про версию ответить. Минимальный уровень SDK - 16( это Android 4.0), большинство функций работает с 4.4, но есть сложные штуки котрые работают начиная с более позних релизов. Грубо говоря с 4.4 KitKat будет работать 99% всего что есть

Спасибо! Для комфортной работы именно на ТСД желательно чтобы ТСД умел отдавать штрихкод через Intent - сейчас это почти все ТСД из новых. Есть совсем старые они умеют только условно через "разрыв клавиатуры" (зато это наверное умеют 100% ТСД), но это менее предпочтительно, потому что поля ввода перехватывают такой ввод. Ну и у меня коллаборация с Urovo поэтому конкретно под Urovo есть особые возможности, например включать/выключать сканер на аппаратном уровне. Это что касается штрихкодов. Для CV - там отдельная история, но это уже не ТСД явно.

Алгоритм обвода контуров отрезками такой:
1 шаг: ищем самую большую точку по контрасту
2 шаг: от нее строим линию по алгоритму Брезенхема длиной N, при этом точки попадающие в эту линию должны а) укладываться в ± 1 сигма по нормальному распределению
б) не должны содержать точки других таких линий(пересечения)
3 шаг: вращаем линию по кругу до достижения максимума по контрасту
4й шаг: от конца найденой линии строим новую линию, но вращение уже не на 360 градусов а ограничено ±30градусов
повторяется пока на конце можно найти новую линию, если нет то снова на 1 шаг. Если набирается сумма контрастов больше определнно предела от суммы контрастов
то алгоритм завершается. Вот такой алгоритм. Я его подобрал опытным путем на датасетах с котрыми работал. Этому алгориту предшествует другой алгоритм который выделяет контрастные области — делает их более компакными
и по ним уже работает алгоритм построения линий.
Да. Комментарий про алгоритм Хафа, дал мне понять что имеет смысл описать алгоритм подробнее. Я сделаю несколько отдельных постов с ссылкой на этот пост про каждый алгоритм который я использовал: отдельно про выделение главных градиентов, отдельно про расположение векторов и про то как я анализирую связи между векторами
Вот ссылка на приложение можно скачать и потестить сколько нужно: play.google.com/store/apps/details?id=ru.travelfood.bitmaps

По поводу стандартных тестов мое мнение такое: у меня есть задача, распознавать продукцию на ленте (упрощенно) я смотрю что есть прежде всего из коммерческих решений, потом из алгоритмов и готовых библиотек, не нахожу того что может приемлемо выполнять мою задачу так чтобы это реально работало а не на бумаге и не в виде картинок. В результате придумываю и пишу свое. Оно работает как мне надо. Конец. Может я конечно круто ошибся и где то существует вагон готовых к промышленному применению решений которые можно пощупать на реальных примерах сразу, тогда да — пардон.
можно искать прямые алгоритмом Хафа, да. Есть и другие методы. И что? Я знаю что есть множество разных методов, фрейморки и библиотеки типа OpenCV в которых они реализованы. Написать код который проводит линии по градиенту быстрее чем статью в википедии про этот алгоритм. Если бы я сделал только это я бы назвал статью так: «Алгоритм который ищет линии в изображении». Но есть одна проблема — в изображении можно вписать очень много линий и это не имеет смысла — просто вместо точек появится много линий.
Прочитал про эти методы, но там же поиск «особых точек», а у меня совершенно не так. У меня все точки одинаково «особые» и покрываются векторами, причем количество векторов стремиться к минимуму. Ну в в принципе можно сказать что у меня «поиск особых векторов». Примерно это можно сформулировать так: вот вам коробок спичек, расположите минимальное количество спичек так чтобы читались основные контуры рисунка и было понятно что нарсовано
К сожалению нет. Код большой и находится в состоянии перманентной оптимизации и экспериментов. Поэтому плохо читаем
Инвариантность к положению, повороту и масштабу обеспечивается за счет того, что у меня анализируются не сами вектора в системе координат изображения, а связи между векторами, связи между связями и и.д. до бесконечности. Однако Вы правы, статья не все раскрывает, учту на будущее.
Чем то похоже но суть совсем не та. Я не делю изображение на ячейки и не привязываюсь к размеру блока, соответственно нормализация потом идет по другому. Потом, насколько я понимаю этот алгоритм привязан к конкретному положению объекта, т.е. если его развернуть то ничего не получиться? У меня не привязано. К сожалению мне не разрешили опубликовать ссылку на приложение в маркете без этого статья не интересна.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность