2016-02-18 3 views
7

Кажется, я обнаружил себя в глубоких сорняках API Vision Vision для сканирования штрих-кодов. Возможно, мой ум немного пожарен, посмотрев на всевозможные альтернативные библиотеки (ZBar, ZXing и даже некоторые сторонние реализации сторонних разработчиков), но мне трудно найти любую информацию о том, где я могу реализовать какое-то сканирование ограничение региона.Предельная область обнаружения в Vision API

Практический пример довольно простой: если я являюсь пользователем, указывающим на свой телефон в коробке с несколькими штрих-кодами того же типа (думаю, что здесь есть метки доставки), я хочу явно указать немного видоискателя или выравнивание прямо -gege на экране в точности то, что я пытаюсь захватить, не беспокоясь о чем-либо вне этой области интересов, давая мне некоторые результаты сканирования, которые я не хочу.

Вышеупомянутый случай обрабатывается в большинстве других Android-библиотек, которые я видел, занимая либо Rect с относительными, либо абсолютными координатами, и это также является частью системы результатов метаданных iOS 'AVCapture (она использует относительный CGRect, но на самом деле та же концепция).

Я глубоко выкопал образец приложения для считывателя штрих-кода here, но реализация непрозрачна, чтобы получить что-либо, кроме деталей реализации на высоком уровне.

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

Я пропустил что-то очень простое и очевидное на этом? Любые идеи о том, как это реализовать, в противном случае?

Большое спасибо за ваше время в чтении!

ответ

2

В настоящее время API не имеет возможности ограничить зону обнаружения. Но вы можете обрезать изображение предварительного просмотра до того, как оно будет передано в детектор штрих-кода. Смотрите здесь для набросков, как обернуть детектор с собственным классом:

Mobile Vision API - concatenate new detector object to continue frame processing

Вы бы реализовать метод «обнаружения» принять кадр, полученный от камеры, создать обрезанную версию кадра , и передать это через основной детектор.

+0

Является ли API Google Mobile Vision бесплатным? Мне нужно использовать его для обнаружения лиц. Нет никакой информации о ценах и прямых средств для обращения в службу поддержки на веб-сайте. – techno

+0

Да, это бесплатно. – pm0733464

+0

Спасибо за обновление об этом. Вонючий, чтобы услышать, что нет прямой реализации для этого, но я принял ваш совет и имею функциональную версию обрезанной области сканирования. У меня также есть две версии: истинная обрезка растрового изображения, которая отправляется клиенту обнаружения, и простая: «В Rect X есть вершина результата сканирования Rect Y?» в обратном вызове образца графической фабрики. –

Смежные вопросы