iPhone: jak korzystać z funkcji wykrywania tekstu w systemie iOS

Vision w iOS 11 ma wszystko, czego potrzebujesz, aby stworzyć aplikację, która potrafi rozpoznawać znaki tekstowe, a implementacja odbywa się jednocześnie. Nie potrzebujesz technicznej wiedzy o kodowaniu – poruszanie się po funkcji jest dość proste. Co więcej, wdrożenie przebiega bezproblemowo.

Ramy wizji

Ramy wizyjne umożliwiają łatwą realizację każdego zadania, które obejmuje szczegóły dotyczące komputera. Struktura wykonuje wykrywanie twarzy i punktów orientacyjnych twarzy, rozpoznawanie kodów kreskowych, rejestrację obrazu, ogólne śledzenie cech i wykrywanie tekstu. Vision umożliwia również korzystanie z niestandardowych modeli Core ML do zadań takich jak klasyfikacja lub wykrywanie obiektów.

VN DetectTextRectanglesRequest

VN DetectTextRectanglesRequest  to żądanie do analizy obrazu, która znajduje regiony widocznego tekstu na obrazie; funkcja zwraca znaki tekstowe w postaci prostokątnej ramki ograniczającej z początkiem i rozmiarem.

Jeśli jesteś przyzwyczajony do używania swiftu i programujesz od jakiegoś czasu, prawdopodobnie zastanawiasz się, do czego służy Vision, gdy istnieją inne funkcje, takie jak obraz i AVFoundation. Cóż, Vision jest dokładniejszy i prostszy. Ta funkcja jest również dostępna na różnych platformach. Jednak korzystanie z Vision może wymagać większej mocy obliczeniowej i czasu przetwarzania.

Aby używać Vision do wykrywania tekstu, będziesz potrzebować Xcode 9 i urządzenia z systemem iOS 11.

Tworzenie kamery za pomocą Avcapture

Najpierw musisz stworzyć kamerę z  AVCapture ; jest to inicjowanie jednej sesji AVcaptures do wykonywania przechwytywania w czasie rzeczywistym lub offline. Następnie nawiąż sesję z połączeniem urządzenia.

Aby zaoszczędzić czas potrzebny na budowanie interfejsu użytkownika aplikacji, zastanów się nad stworzeniem projektu startowego, który na początek da ci czas na skupienie się na nauce frameworka Vision.

Otwórz swój projekt startowy. Widoki w scenorysie powinny być gotowe i skonfigurowane dla Ciebie.

ViewController.swift poszukaj sekcji kodu z funkcjami i wyjściami  .

W sekcji outlet- ImageView zadeklaruj sesję dla sesji  AVcaptures  – jest ona używana, gdy chcesz, aby akcje były wykonywane w oparciu o transmisję na żywo.

Ustaw  sesję AVcaptures  i  AVmediatype  na wideo, ponieważ będziesz wykonywać zdjęcia z kamery, aby umożliwić jej ciągłe działanie

Zdefiniuj urządzenie wyjściowe i wejściowe

Wejście jest tym, co zobaczy kamera, a wyjściem jest wideo w ustawionym formacie typu KCVPixelFormatType_32GRA.

Na koniec dodaj  podwarstwę  zawierającą filmy do  imageView  i rozpocznij sesję. Funkcja jest znana jako  inViewdidload.  Musisz także ustawić ramkę warstwy.

Wywołaj funkcję w   metodzie viewWillAppear .

Ponieważ granice nie są jeszcze sfinalizowane, zastąp  metodę viewDidLayoutSubviews ( )  , aby zaktualizować powiązane warstwy.

Po premierze iOS 10 potrzebny jest dodatkowy wpis w Info.plist, jest to powód do korzystania z aparatu. Powinieneś także ustawić opis użycia prywatności-kamery.

Wykrywanie tekstu; Jak działa Vision Framework

Implementacja Vision w aplikacji składa się z trzech kroków.

Handlery –  to jest, gdy chcesz, aby framework zrobił coś po wywołaniu żądania.

Obserwacje –  to chcesz zrobić z danymi dostarczonymi przez Ciebie, zaczynając od jednego zapytania

Requests –  wtedy pytasz o framework Detect

Najlepiej jest utworzyć jedno żądanie tekstowe jako  VNdetecttextrectanglesrequest . Jest to rodzaj  VNrequest,  który graniczy z tekstem. Gdy framework zakończy aplikację, przystępujesz do wywołania   funkcji Dettexthandler . Będziesz także chciał znać dokładną ramkę, która została rozpoznana, ustaw ją na  Reportcharacterboxes = True.

Następnie zdefiniuj obserwacje, które zawierają wszystkie wyniki  VNdetecttextrectanglesrequest , pamiętaj, aby dodać Vision do kamery wyjściowej. Ponieważ Vision udostępnia interfejsy API wysokiego poziomu, praca z nim jest bezpieczna.

Funkcja sprawdza czy  Cmsamplebuffer  istnieje i PutOut  Avcaptureoutput . Następnie należy przystąpić do tworzenia jednej zmiennej  Requestoptions  jako 1 typ słownika  VNimageoption . Opcja  VNmage  to rodzaj struktury, która zawiera właściwości i dane z kamery. Następnie należy utworzyć  VNimagerequesthandler  i wykonać żądanie tekstowe.

Rysowanie granic wokół wykrytego tekstu

Możesz zacząć od narysowania dwóch ramek, jednego dla każdej wykrytej litery, a drugiego dla każdego słowa. Tabele są kombinacją wszystkich pól znaków, które znajdziesz w Twojej prośbie.

  • Zdefiniuj punkty na swoim widoku, które pomogą Ci ustawić pola.
  • Następnie utwórz  CALaye r; użyj  VNrectangleobservation,  aby zdefiniować swoje ograniczenia, ułatwiając proces obrysowywania pudełka.

Masz teraz rozplanowane wszystkie funkcje.

Aby połączyć kropki, zacznij od asynchronicznego uruchamiania kodu. Następnie należy sprawdzić, czy w wynikach z VNTextObservation istnieje region  .

Możesz teraz wywołać swoją funkcję, która narysuje prostokąt w obszarze. Sprawdź, czy w regionie znajdują się pola znaków, a następnie zadzwoń do usługi, która wprowadza pole wokół każdej litery.

Następnie utwórz zmienną  RequestOptions. Możesz teraz utworzyć  obiekt VNImageRequestHandler  i wykonać utworzone żądanie tekstowe.

Ostatnim krokiem jest uruchomienie kodu wizji z transmisją na żywo. Będziesz musiał wziąć wyjście wideo i przekonwertować je na  Cmsamplebuffer.

Dodatkowe wskazówki

Zawsze staraj się przycinać obraz i przetwarzać tylko tę część, której potrzebujesz. Zmniejszy to czas przetwarzania i zużycie pamięci

Włącz korekcję języka, gdy masz do czynienia ze znakami nienumerycznymi, a następnie wyłącz ją, gdy masz do czynienia ze znakiem numerycznym

Uwzględnij walidację rozpoznanych ciągów liczbowych, aby potwierdzić dokładność i wyeliminować wyświetlanie fałszywej wartości użytkownikowi.

Kontroler kamery dokumentacyjnej jest najlepszym towarzyszem rozpoznawania tekstu, ponieważ jakość obrazu odgrywa znaczącą rolę w rozpoznawaniu tekstu.

Rozważ ustawienie minimalnej wysokości tekstu, aby zwiększyć wydajność.

Dzięki Vision masz wszystko, czego potrzebujesz do rozpoznawania tekstu. Ponieważ Vision jest łatwy w użyciu i zajmuje niewiele czasu na wdrożenie, używanie go jest prawie równoznaczne z zabawą Legos. Przetestuj swoją aplikację na różnych obiektach, czcionkach, oświetleniu i rozmiarach. Możesz również zaimponować sobie, łącząc Vision z Core ML.



Leave a Comment

Safari na iPhonea i iPada: „Nie można otworzyć strony, zbyt wiele przekierowań” Poprawka

Safari na iPhonea i iPada: „Nie można otworzyć strony, zbyt wiele przekierowań” Poprawka

Rozwiąż błąd, w którym nie można otworzyć strony, zbyt wiele przekierowań. Pojawia się on podczas przeglądania Internetu na iPhonie lub iPadzie firmy Apple.

Jak zmienić ikony aplikacji na iPhonie za pomocą aplikacji Skróty

Jak zmienić ikony aplikacji na iPhonie za pomocą aplikacji Skróty

Chcesz pomieszać sprawy i zmienić ikonę aplikacji na iPhonie? Oto sprytne obejście wykorzystujące natywną aplikację Skróty, która może Ci w tym pomóc.

Czy możesz uzyskać rozszerzenia dla Chrome na iPada? 3 najlepsze opcje w 2023 roku

Czy możesz uzyskać rozszerzenia dla Chrome na iPada? 3 najlepsze opcje w 2023 roku

Chcesz się dowiedzieć, czy możesz pobrać rozszerzenia do Chrome na iPada? Przeczytaj ten artykuł, aby odkryć najlepszą odpowiedź i alternatywy w 2023 roku.

Szybkie i proste sposoby blokowania i odblokowywania zegarka Apple Watch

Szybkie i proste sposoby blokowania i odblokowywania zegarka Apple Watch

Jeśli masz zegarek Apple Watch, musisz nauczyć się blokować i odblokowywać zegarek Apple. Możesz także odblokować zegarek Apple Watch za pomocą iPhonea.

Jak mieć dwa konta Snapchat na jednym iPhonie?

Jak mieć dwa konta Snapchat na jednym iPhonie?

Możesz używać dwóch kont Snapchat lub wielu kont Snapchat na jednym iPhonie. Wykonaj poniższe czynności, aby mieć 2 konta Snapchat na 1 iPhonie.

Włącz/wyłącz automatyczne wielkie litery na iPhonie i iPadzie

Włącz/wyłącz automatyczne wielkie litery na iPhonie i iPadzie

Ustaw swój Apple iPhone lub iPad na automatyczne pisanie wielkimi literami lub wyłącz tę funkcję za pomocą tego szczegółowego samouczka.

40 najlepszych tapet z efektem głębi (4K) na ekran blokady iPhonea

40 najlepszych tapet z efektem głębi (4K) na ekran blokady iPhonea

Szukasz tapet z efektem głębi na iOS 16 dla swojego iPhone

Jaka jest ikona (I) na Apple Watch? Przewodnik po wszystkich ikonach i symbolach Apple Watch.

Jaka jest ikona (I) na Apple Watch? Przewodnik po wszystkich ikonach i symbolach Apple Watch.

Za pomocą ikony (i) na Apple Watch możesz uzyskać istotne informacje o swoim urządzeniu. Poznaj wszystkie ikony Apple Watch i ich znaczenie.

Mapy Google: jak upuścić pinezkę z lokalizacją na mapie

Mapy Google: jak upuścić pinezkę z lokalizacją na mapie

Szybko upuść pinezkę w Mapach Google, aby uzyskać dokładną lokalizację i udostępnić ją znajomym. Zobacz, jak upuścić pinezkę Map Google na iPadzie 14, Androidzie i komputerze stacjonarnym.

Jak zmienić typ pliku (rozszerzenie) na iPhonie

Jak zmienić typ pliku (rozszerzenie) na iPhonie

Nie masz kompatybilnej aplikacji do otwierania pliku? Oto jak zmienić typ pliku (rozszerzenie) na swoim iPhonie.