iPhone: Hur man använder iOS-textdetekteringsfunktioner

iPhone: Hur man använder iOS-textdetekteringsfunktioner

Vision i iOS 11 har allt du behöver för att skapa en app som kan känna igen texttecken med implementering som sker samtidigt. Du behöver ingen teknisk kodningskunskap – det är ganska enkelt att navigera i funktionen. Dessutom är implementeringen sömlös.

Vision Framework

Visionsramverket gör att du enkelt kan implementera alla uppgifter som involverar datordetaljer. Strukturen utför ansikts- och ansiktsigenkänning, streckkodsigenkänning, bildregistrering, allmän funktionsspårning och textdetektering. Vision låter dig också använda anpassade Core ML-modeller för uppgifter som klassificering eller objektdetektering.

VN DetectTextRectanglesRequest

Den  VN DetectTextRectanglesRequest  är ett bildanalys begäran som hittar regioner synlig text i en bild; funktionen returnerar texttecken som en rektangulär begränsningsram med ursprung och storlek.

Om du är van vid att använda swift och har programmerat ett tag, så undrar du förmodligen vad Vision kan använda när det finns andra funktioner som bild och AVFoundation. Tja, Vision är mer exakt och enklare. Funktionen är också tillgänglig på en mängd olika plattformar. Användning av Vision kan dock kräva mer processorkraft och bearbetningstid.

För att använda Vision för textdetektering behöver du Xcode 9 och en enhet som kör iOS 11.

Skapa en kamera med Avcapture

Först måste du skapa en kamera med  AVCapture ; detta är genom att initiera AVcapturesession med ett objekt för att utföra realtids- eller offlinefångst. Efter det gör du sessionen till enhetens anslutning.

För att spara tid från att bygga ett användargränssnitt för din app, överväg att ha ett startprojekt, till att börja med kommer detta att ge dig tid att fokusera på att lära dig Vision-ramverket.

Öppna ditt startprojekt. Vyerna i storyboardet bör vara klara och inställda för dig.

På  ViewController.swift letar du efter kodavsnittet  med funktioner och uttag.

Enligt outlet- Imageview, d eclare en session för  AVcapturesession  - detta används när du vill åtgärder som utförs baserat på en live stream.

Ställ in  AVcapturesession  och  AVmediatype  på video eftersom du kommer att utföra kamerafotograferingen så att den kan köras kontinuerligt

Definiera utgångs- och inmatningsenheten

Ingången är vad kameran kommer att se, och utgången är videon i ett inställt format av KCVPixelFormatType_32GRA.

Lägg slutligen till ett  underlager  som innehåller videor till  imageView  och starta sessionen. Funktionen är känd som  inViewdidload.  Du måste också ställa in ramen för lagret.

Anropa funktionen i   metoden viewWillAppear .

Eftersom gränserna ännu inte är slutförda, åsidosätt  metoden viewDidLayoutSubviews ( )  för att uppdatera de bundna lagren.

Efter lanseringen av iOS 10 behövs ytterligare en post i Info.plist, detta ger en anledning till att använda kameran. Du bör också ställa in Privacy-Camera Usage Description.

Textavkänning; Hur Vision Framework fungerar

Det finns tre steg för att implementera Vision i appen.

Handlers –  det är när du vill att ramverket ska göra något efter att begäran har anropats.

Observationer – det  här är vad du vill göra med de uppgifter som du tillhandahåller och börjar med en begäran

Förfrågningar –  det är när du ber om Detect-ramverket

Helst skapar du en textförfrågan som  VNdetecttextrectanglesrequest . Detta är en sorts  VNrequest  som gränsar till texten. När ramverket har slutfört applikationen fortsätter du att anropa  Dettexthandler-  funktionen. Du kommer också att vilja veta den exakta ramen som kändes igen, ställ in den på  Reportcharacterboxes =True.

Efter det, definiera observationerna som innehåller alla resultat av  VNdetecttextrectanglesrequest , kom ihåg att lägga till Vision till utdatakameran. Eftersom Vision exponerar API:er på hög nivå är det säkert att arbeta med det.

Funktionen kontrollerar om  Cmsamplebuffer  finns och PutOut  Avcaptureoutput . Du bör sedan fortsätta att skapa en variabel  Requestoptions  som 1 Dictionary Type  VNimageoption . Den  VNmage  alternativet är en typ av struktur som innehåller egenskaper och data från kameran. Du bör sedan skapa  VNimagerequesthandler och köra textbegäran  .

Rita gränser runt den upptäckta texten

Du kan börja med att ha ramverket för att rita två rutor, en för varje bokstav som den upptäcker och den andra för varje ord. Tabeller är kombinationen av alla teckenrutor som din begäran kommer att hitta.

  • Definiera punkterna på din vy för att hjälpa dig placera rutorna.
  • Efter det, skapa en  CALaye r; använd  VNrectangleobservation för  att definiera dina begränsningar, vilket gör processen att skissera rutan enklare.

Du har nu alla dina funktioner utlagda.

För att koppla ihop dina prickar, börja med att låta din kod köras asynkront. Du bör sedan kontrollera om det finns en region i dina resultat från din  VNTextObservation .

Du kan nu ringa in din funktion som kommer att rita en ruta inom området. Kontrollera om det finns teckenrutor inom regionen och ring sedan in tjänsten som tar in en ruta runt varje bokstav.

Efter det skapar du en variabel  RequestOptions. Du kan nu skapa ett  VNImageRequestHandler- objekt och utföra textbegäran  du skapade.

Slutligen är det sista steget att köra din visionkod med livestreamen. Du måste ta videoutgången och konvertera den till  Cmsamplebuffer.

Ytterligare tips

Försök alltid att beskära bilden och bearbeta endast det avsnitt du behöver. Detta kommer att minska bearbetningstiden och minnesfotavtrycket

Aktivera språkkorrigering när du hanterar icke-numeriska tecken och stäng sedan av den när du hanterar ett numeriskt tecken

Inkludera validering för igenkända nummersträngar för att bekräfta noggrannheten och eliminera visning av falskt värde för användaren.

Dokumentkamerakontrollen är den bästa följeslagaren för textigenkänning eftersom bildkvalitet spelar en viktig roll för textigenkänning.

Överväg att ställa in en lägsta texthöjd för att öka prestandan.

Med Vision har du allt du behöver för textigenkänning. Eftersom Vision är lätt att använda och tar kort tid att implementera, är det nästan likvärdigt att spela med Legos. Testa din app på olika objekt, typsnitt, belysning och storlekar. Du kan också imponera på dig själv genom att kombinera Vision med Core ML.


När kommer Apple att släppa IOS 17.4?

När kommer Apple att släppa IOS 17.4?

Den stabila iOS 17.4-uppdateringen är runt hörnet och innehåller flera betydande förändringar. Apple har betatestat operativsystemet i några veckor, med releasen

Microsoft rullar äntligen ut Cortana för IOS och Android i Storbritannien

Microsoft rullar äntligen ut Cortana för IOS och Android i Storbritannien

Microsoft tar äntligen sin digitala assistent Cortana till Android och iOS i Storbritannien. Releasen, som kommer runt ett år efter en liknande lansering

Fixa skärminspelningen kunde inte sparas på grund av 5823

Fixa skärminspelningen kunde inte sparas på grund av 5823

Felkod 5823 är specifik för iPhone- och iPad-enheter. Det inträffar när användare försöker spara sin skärminspelning.

Google Maps: Hur man släpper en kartplatsnål

Google Maps: Hur man släpper en kartplatsnål

Sätt snabbt en nål i Google Maps för att få en exakt plats att dela med vänner. Se hur du släpper en Google Maps-nål på iPadOS 14, Android och Desktop.

Åtgärda signalappen som inte fungerar på iPhone

Åtgärda signalappen som inte fungerar på iPhone

Om du inte kan använda Signal på iOS, leta efter app- och iOS-uppdateringar. Redigera sedan appbehörigheterna, inaktivera lågenergiläge och installera om appen.

IPhone: Hur man lägger till en signatur till textmeddelanden

IPhone: Hur man lägger till en signatur till textmeddelanden

En trevlig lösning för att lägga till signaturer till dina textmeddelanden på din Apple iPhone.

Fix: Kan inte ta bort skräppost på iPhone

Fix: Kan inte ta bort skräppost på iPhone

Om du äger en iPhone och har problem med att ta bort skräppost, uppdatera din enhet. Ta sedan bort papperskorgen från servern.

9 bästa väderappar för iPad 2023

9 bästa väderappar för iPad 2023

Vill du ha de senaste väderuppdateringarna på din mobila enhet? Få den bästa väderappen för iPad från den här listan. Numera har vädret blivit ganska

13 bästa kodningsappar för iPad för funktionell apputveckling och lärande

13 bästa kodningsappar för iPad för funktionell apputveckling och lärande

Behöver du koda när du är på språng för jobbet eller vill fräscha upp dina kodningskunskaper? Du kan kolla in dessa bästa kodningsappar för iPad.

Fix: Dropbox hittar inte nya foton på iPhone

Fix: Dropbox hittar inte nya foton på iPhone

Om Dropbox inte kan hitta och ladda upp nya foton från din iPhone, se till att du kör de senaste iOS- och Dropbox-appversionerna.