Wygląda na to, że znalazłem się w głębokim chwastach interfejsu API Google Vision do skanowania kodów kreskowych. Być może mój umysł jest trochę smażony po obejrzeniu różnego rodzaju alternatywnych bibliotek (ZBar, ZXing, a nawet niektórych niedrogich implementacji stron trzecich), ale mam trudności ze znalezieniem jakiejkolwiek informacji o tym, gdzie mogę przeprowadzić jakieś skanowanie ograniczenie regionu.Obszar wykrywania limitu w wizji API
Przypadek użycia jest dość prosty: jeśli jestem użytkownikiem wskazującym mój telefon na pudełku z wieloma kodami kreskowymi tego samego typu (pomyśl o etykietach wysyłkowych tutaj), chcę wyraźnie wskazać jakiś mały wizjer lub wyrównanie prosto - na ekranie dokładnie to, co próbuję uchwycić, bez martwienia się o nic poza tym obszarem zainteresowania, dając mi wyniki skanowania, których nie chcę.
Powyższy przypadek jest obsługiwany w większości innych bibliotek Androida, które widziałem, przyjmując albo Rect ze względnymi albo absolutnymi współrzędnymi, a także jest częścią systemu wyników metadanych systemu iOS AVCapture (używa względnego CGRect, ale tak naprawdę to samo pojęcie).
Dosłownie zagłębiłem się w przykładową aplikację dla czytnika kodów kreskowych here, ale wdrożenie jest odrobinę nieprzejrzyste, aby uzyskać wszystko oprócz szczegółów implementacji wysokiego poziomu.
Wygląda na paskudną łatkę, po udanym wykryciu kodu kreskowego w dowolnym miejscu w ramce podglądu kamery, na prostej no-op na kodach kreskowych poza obszarem zainteresowania, ponieważ urządzenie nadal pracuje ciężko, aby obliczyć te ramki.
Czy brakuje mi czegoś bardzo prostego i oczywistego na tym? Wszelkich pomysłów na sposób, aby wdrożyć to czysto, inaczej?
Wielkie dzięki za poświęcony czas na przeczytanie tego!
Czy Google Mobile Vision API jest bezpłatny? Potrzebuję go użyć do wykrywania twarzy. Nie ma informacji o cenach ani bezpośredniego sposobu kontaktowania się z pomocą techniczną na stronie. – techno
Tak, jest za darmo. – pm0733464
Dzięki za aktualizację w tej sprawie. Śmierdzi, że nie ma bezpośredniej implementacji, do której można się przyzwyczaić, ale skorzystałem z waszej porady i posiadałem działającą wersję przyciętego obszaru skanowania. Mam też dwie wersje - prawdziwy rzut mapy bitowej, która zostanie wysłana do klienta wykrywającego, i proste: "Czy Rect X zawiera wierzchołek wyniku skanowania Rect Y?" w wywołaniu zwrotnym przykładowej fabryki graficznej. –