iPhone: Slik bruker du iOS-tekstgjenkjenningsfunksjoner

Vision i iOS 11 har alt du trenger for å lage en app som kan gjenkjenne teksttegn med implementering som skjer samtidig. Du trenger ingen teknisk kodingskunnskap – det er ganske enkelt å navigere i funksjonen. Dessuten er implementeringen sømløs.

Visjonsrammeverk

Visjonsrammeverket lar deg enkelt implementere enhver oppgave som involverer datamaskindetaljer. Strukturen utfører gjenkjenning av ansikts- og ansiktslandemerker, strekkodegjenkjenning, bilderegistrering, generell funksjonssporing og tekstgjenkjenning. Vision lar deg også bruke tilpassede Core ML-modeller for oppgaver som klassifisering eller objektdeteksjon.

VN DetectTextRectanglesRequest

Den  VN DetectTextRectanglesRequest  er et bildeanalyse anmodning som finner områder med synlig tekst i et bilde; funksjonen returnerer teksttegn som en rektangulær avgrensningsramme med opprinnelse og størrelse.

Hvis du er vant til å bruke swift og har programmert en stund, så lurer du sannsynligvis på hva nytten av Vision er når det er andre funksjoner som image og AVFoundation. Vel, Vision er mer nøyaktig og mer grei. Funksjonen er også tilgjengelig på en rekke plattformer. Bruk av Vision kan imidlertid kreve mer prosessorkraft og behandlingstid.

For å bruke Vision for tekstgjenkjenning, trenger du Xcode 9 og en enhet som kjører iOS 11.

Opprette et kamera med Avcapture

Først må du lage et kamera med  AVCapture ; dette er ved å initialisere ett objekt AVcapturesession for å utføre sanntid eller offline fangst. Etter det gjør du økten til enhetstilkoblingen.

For å spare tid fra å bygge et brukergrensesnitt for appen din, bør du vurdere å ha et startprosjekt. Til å begynne med vil dette gi deg tid til å fokusere på å lære Vision-rammeverket.

Åpne startprosjektet ditt. Visningene i storyboardet skal være klare og konfigurert for deg.

På  ViewController.swift, se etter kodedelen  med funksjoner og uttak.

Under uttaket  - ImageView, angir en økt for  AVcapturesession - denne brukes når du vil at handlinger skal utføres basert på en direktestrøm.

Still  AVcapturesession  og  AVmediatype  til video siden du vil utføre kameraopptaket for å la det kjøre kontinuerlig

Definer utdata- og inngangsenheten

Inngangen er det kameraet vil se, og utgangen er videoen i et bestemt type format KCVPixelFormatType_32GRA.

Til slutt, legg til et  underlag  som inneholder videoer til  imageView  og start økten. Funksjonen er kjent som  inViewdidload.  Du må også angi rammen til laget.

Kall funksjonen i  viewWillAppear-  metoden.

Siden grensene ikke er endelige ennå, overstyr  metoden viewDidLayoutSubviews ( )  for å oppdatere de bundne lagene.

Etter utgivelsen av iOS 10 er det nødvendig med en ekstra oppføring i Info.plist, dette gir en grunn til å bruke kameraet. Du bør også angi Privacy-Camera Usage Description.

Tekstgjenkjenning; Hvordan Vision Framework fungerer

Det er tre trinn for å implementere Vision på appen.

Behandlere –  dette er når du vil at rammeverket skal gjøre noe etter at forespørselen er kalt.

Observasjoner -  dette er hva du vil gjøre med dataene du har levert, og begynner med én forespørsel

Forespørsler –  dette er når du ber om Detect-rammeverket

Ideelt sett oppretter du én tekstforespørsel som  VNdetecttextrectanglesrequest . Dette er en slags  VNrequest  som grenser rundt teksten. Etter at rammeverket har fullført søknaden, fortsetter du med å kalle opp  Dettexthandler-  funksjonen. Du vil også vite den nøyaktige rammen som ble gjenkjent, sett den til  Reportcharacterboxes =True.

Definer deretter observasjonene som inneholder alle resultatene av  VNdetecttextrectanglesrequest , husk å legge til Vision til utgangskameraet. Siden Vision avslører API-er på høyt nivå, er det sikkert å jobbe med det.

Funksjonen sjekker om  Cmsamplebuffer  eksisterer og PutOut  Avcaptureoutput . Du bør deretter fortsette å lage én variabel  Requestoptions  som 1 Dictionary Type  VNimageoption . Den  VNmage  alternativ er en type struktur som inneholder egenskaper og data fra kameraet. Du bør deretter opprette  VNimagerequesthandler  og utføre tekstforespørselen.

Tegne grenser rundt den oppdagede teksten

Du kan starte med å ha rammeverket for å tegne to bokser, en for hver bokstav den oppdager og den andre for hvert ord. Tabeller er kombinasjonen av alle tegnboksene som forespørselen din vil finne.

  • Definer punktene på visningen for å hjelpe deg med å plassere boksene.
  • Etter det, lag en  CALaye r; bruk  VNrectangleobservation for  å definere begrensningene dine, noe som gjør prosessen med å skissere boksen enklere.

Du har nå lagt ut alle funksjonene dine.

For å koble sammen prikkene dine, start med å la koden kjøre asynkront. Du bør deretter sjekke om det finnes en region i resultatene dine fra  VNTextObservation .

Du kan nå kalle inn funksjonen din, som vil tegne en boks innenfor området. Sjekk om det er tegnbokser i regionen, og ring deretter inn tjenesten som bringer inn en boks rundt hver bokstav.

Deretter oppretter du en variabel  RequestOptions. Du kan nå opprette et  VNImageRequestHandler-  objekt og utføre tekstforespørselen du opprettet.

Til slutt er det siste trinnet å kjøre visjonskoden din med direktesendingen. Du må ta videoutgangen og konvertere den til  Cmsamplebuffer.

Ytterligere tips

Prøv alltid å beskjære bildet og behandle bare delen du trenger. Dette vil redusere behandlingstiden og minneavtrykket

Slå på språkkorrigering når du arbeider med ikke-numeriske tegn, og slå den av når du arbeider med et numerisk tegn

Inkluder validering for gjenkjente tallstrenger for å bekrefte nøyaktigheten og eliminere visning av falsk verdi til brukeren.

Dokumentkamerakontrolleren er den beste følgesvennen for tekstgjenkjenning siden bildekvalitet spiller en betydelig rolle i tekstgjenkjenning.

Vurder å angi en minste teksthøyde for å øke ytelsen.

Med Vision har du alt du trenger for tekstgjenkjenning. Siden Vision er enkel å bruke og tar kort tid å implementere, tilsvarer det nesten å spille med Legos. Prøv å teste appen din på forskjellige objekter, fonter, belysning og størrelser. Du kan også imponere deg selv ved å kombinere Vision med Core ML.


Leave a Comment

Hvordan slette apper fra iCloud: 4 beste metoder

Hvordan slette apper fra iCloud: 4 beste metoder

Har du lite iCloud-lagring? Les denne artikkelen nå for å lære hvordan du sletter apper fra iCloud fra iPad, iPhone, Mac og Windows PC.

ITunes: Hvordan laste ned tidligere kjøpt musikk, filmer og lydbøker

ITunes: Hvordan laste ned tidligere kjøpt musikk, filmer og lydbøker

Finn ut hvordan du laster ned musikk, filmer, apper eller bøker du har kjøpt til din Apple iOS-enhet fra iTunes ved hjelp av iTunes kjøpshistorikk.

Fikse iPhone eller iPad som er frosset eller låst

Fikse iPhone eller iPad som er frosset eller låst

Vil du fikse frosne eller låste skjermproblemer på iPhone eller iPad? Les denne artikkelen for å finne noen enkle metoder før du kontakter Apple Support.

iPhone Kart Navigasjon Fungerer Ikke (Sitter Fast)

iPhone Kart Navigasjon Fungerer Ikke (Sitter Fast)

I dette innlegget dekker vi hvordan vi kan løse et problem der kartnavigasjon og GPS-funksjoner ikke fungerer ordentlig på Apple iPhone.

IPad: Hvordan sette inn eller fjerne SIM-kort

IPad: Hvordan sette inn eller fjerne SIM-kort

Lær hvordan du får tilgang til SIM-kortet på Apple iPad med denne veiledningen.

Slik tilbakestiller du iPhone- og iPad-innstillinger: 7 beste metoder

Slik tilbakestiller du iPhone- og iPad-innstillinger: 7 beste metoder

Hvis du elsker å endre iOS-innstillinger eller ønsker å feilsøke det, vil det hjelpe hvis du lærer hvordan du tilbakestiller iPhone- og iPad-innstillinger. Les nå!

IPhone: Ingen ringelyd på innkommende samtaler

IPhone: Ingen ringelyd på innkommende samtaler

Har du problemer med at iPhone ikke ringer på telefonanrop? Prøv disse feilsøkingstrinnene først før du sender telefonen inn for reparasjon.

Safari for iPhone og iPad: Kunne ikke åpne siden, for mange omdirigeringer Fix

Safari for iPhone og iPad: Kunne ikke åpne siden, for mange omdirigeringer Fix

Lær hvordan du løser feilen "Kunne ikke åpne siden, for mange omdirigeringer" når du surfer på Safari for iOS-enheter.

Slik har du to Snapchat-kontoer på en iPhone

Slik har du to Snapchat-kontoer på en iPhone

Du kan bruke doble Snapchat- eller flere snapchat-kontoer på én iPhone. Følg disse trinnene for å ha 2 Snapchat-kontoer på 1 iPhone.

Når slipper Apple IOS 17.4?

Når slipper Apple IOS 17.4?

Den stabile iOS 17.4-oppdateringen er rundt hjørnet, og inneholder flere betydelige endringer. Apple har betatestet operativsystemet i noen uker, med utgivelsen