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.
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 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 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.
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.
W 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.
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.
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.
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.
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.
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.
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.
Chcesz się dowiedzieć, czy możesz pobrać rozszerzenia do Chrome na iPada? Przeczytaj ten artykuł, aby odkryć najlepszą odpowiedź i alternatywy w 2023 roku.
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.
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.
Ustaw swój Apple iPhone lub iPad na automatyczne pisanie wielkimi literami lub wyłącz tę funkcję za pomocą tego szczegółowego samouczka.
Szukasz tapet z efektem głębi na iOS 16 dla swojego iPhone
Za pomocą ikony (i) na Apple Watch możesz uzyskać istotne informacje o swoim urządzeniu. Poznaj wszystkie ikony Apple Watch i ich znaczenie.
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.
Nie masz kompatybilnej aplikacji do otwierania pliku? Oto jak zmienić typ pliku (rozszerzenie) na swoim iPhonie.