iPhone: Kako koristiti značajke otkrivanja teksta iOS-a

Vision u iOS-u 11 ima sve što vam je potrebno za izradu aplikacije koja može prepoznati tekstualne znakove s implementacijom koja se odvija istovremeno. Ne trebate tehničko znanje o kodiranju – navigacija ovom značajkom je prilično jednostavna. Štoviše, implementacija je besprijekorna.

Okvir vizije

Okvir vizije omogućuje vam da jednostavno implementirate bilo koji zadatak koji uključuje računalne detalje. Struktura obavlja detekciju lica i orijentira na licu, prepoznavanje crtičnog koda, registraciju slike, praćenje općih značajki i otkrivanje teksta. Vision vam također omogućuje korištenje prilagođenih Core ML modela za zadatke poput klasifikacije ili otkrivanja objekata.

VN DetectTextRectanglesRequest

VN DetectTextRectanglesRequest  je zahtjev analiza slike koje pronalazi područja vidljivog teksta na slike; značajka vraća tekstualne znakove kao pravokutni granični okvir s ishodištem i veličinom.

Ako ste navikli koristiti swift i već neko vrijeme programirate, onda se vjerojatno pitate koja je korist od Visiona kada postoje druge značajke kao što su slika i AVFoundation. Pa, Vision je točniji i jednostavniji. Značajka je također dostupna na raznim platformama. Međutim, korištenje Visiona može zahtijevati više procesorske snage i vremena obrade.

Da biste koristili Vision za otkrivanje teksta, trebat će vam Xcode 9 i uređaj koji pokreće iOS 11.

Izrada kamere s Avcapture

Prvo, trebate stvoriti kameru s  AVCapture ; to je inicijaliziranjem jednog objekta AVcapturesession za izvođenje snimanja u stvarnom vremenu ili izvanmrežno. Nakon toga uspostavite sesiju s vezom uređaja.

Kako biste uštedjeli vrijeme od izrade korisničkog sučelja vaše aplikacije, razmislite o pokretanju projekta, za početak, to će vam dati vremena da se usredotočite na učenje okvira Vision.

Otvorite svoj početni projekt. Prikazi u storyboardu trebali bi biti spremni i postavljeni za vas.

Na  ViewController.swift  potražite odjeljak koda s funkcijama i utičnicama.

Pod outlet- ImageView, d proglasite sesiju za  AVcapturesession  – ovo se koristi kad god želite da se radnje izvode na temelju streama uživo.

Postavite  AVcapturesession  i  AVmediatype  na video jer ćete izvesti snimanje fotoaparatom kako biste omogućili njegovo neprekidno pokretanje

Definirajte izlazni i ulazni uređaj

Ulaz je ono što će kamera vidjeti, a izlaz je video u formatu postavljenog tipa KCVPixelFormatType_32GRA.

Na kraju dodajte  podsloj  koji sadrži videozapise u  imageView  i započnite sesiju. Funkcija je poznata kao  inViewdidload.  Također morate postaviti okvir sloja.

Pozovite funkciju u   metodi viewWillAppear .

Budući da granice još nisu dovršene,  nadjačajte metodu viewDidLayoutSubviews ( )  da biste ažurirali vezane slojeve.

Nakon izlaska iOS-a 10 potreban je dodatni unos u Info.plist, što daje razlog za korištenje kamere. Također biste trebali postaviti opis korištenja kamere za privatnost.

Prepoznavanje teksta; Kako funkcionira Vision Framework

Postoje tri koraka za implementaciju Visiona u aplikaciji.

Rukovaoci –  ovo je kada želite da okvir učini nešto nakon pozivanja zahtjeva.

Opažanja –  to je ono što želite učiniti s podacima koje ste dostavili počevši s jednim zahtjevom

Zahtjevi –  ovo je kada tražite okvir Detect

U idealnom slučaju, izradite jedan tekstualni zahtjev kao  VNdetecttextrectanglesrequest . Ovo je vrsta  VNrequesta  koji graniči oko teksta. Nakon što okvir dovrši aplikaciju, nastavljate s pozivanjem funkcije  Dettexthandler  . Također ćete htjeti znati točan okvir koji je prepoznat, postavite ga na  Reportcharacterboxes = True.

Nakon toga definirajte opažanja koja sadrže sve rezultate  VNdetecttextrectanglesrequest , ne zaboravite dodati Vision izlaznoj kameri. Budući da Vision izlaže API-je visoke razine, rad s njim je siguran.

Funkcija provjerava  postoji li  Cmsamplebuffer i PutOut  Avcaptureoutput . Zatim biste trebali nastaviti s stvaranjem jedne varijable  Requeststoptions  kao 1 Dictionary Type  VNimageoption . Opcija  VNmage  je vrsta strukture koja sadrži svojstva i podatke iz kamere. Zatim biste trebali kreirati  VNimagerequesthandler  i izvršiti tekstualni zahtjev.

Otkriveno crtanje granica oko teksta

Možete započeti tako da imate okvir za crtanje dva okvira, jedan za svako slovo koje detektuje, a drugi za svaku riječ. Tablice su kombinacija svih okvira znakova koje će pronaći vaš zahtjev.

  • Definirajte točke na svom pogledu kako biste lakše pozicionirali okvire.
  • Nakon toga kreirajte  CALaye r; koristite  VNrectangleobservation  da definirate svoja ograničenja, što olakšava proces ocrtavanja okvira.

Sada imate sve svoje funkcije.

Da biste povezali svoje točke, počnite s asinkronim izvođenjem koda. Zatim biste trebali provjeriti postoji li regija unutar vaših rezultata iz vašeg  VNTextObservation .

Sada možete pozvati svoju funkciju, koja će nacrtati okvir unutar područja. Provjerite postoje li okviri za znakove unutar regije, a zatim nazovite uslugu koja donosi okvir oko svakog slova.

Nakon toga stvorite varijablu  RequestOptions. Sada možete stvoriti  VNImageRequestHandler  objekt i izvršiti tekstualni zahtjev koji ste kreirali.

Konačno, posljednji korak je pokretanje vašeg koda vizije uz stream uživo. Morat ćete uzeti video izlaz i pretvoriti ga u  Cmsamplebuffer.

Dodatni savjeti

Uvijek pokušajte izrezati sliku i obraditi samo dio koji vam je potreban. To će smanjiti vrijeme obrade i memorijski otisak

Uključite ispravljanje jezika kada radite s nenumeričkim znakovima, a zatim ga isključite kada radite s brojčanim znakom

Uključite provjeru za prepoznate nizove brojeva kako biste potvrdili točnost i eliminirali pokazivanje lažne vrijednosti korisniku.

Kontroler kamere za dokumente najbolji je suputnik za prepoznavanje teksta budući da kvaliteta slike igra značajnu ulogu u prepoznavanju teksta.

Razmislite o postavljanju minimalne visine teksta kako biste povećali izvedbu.

Uz Vision imate sve što vam je potrebno za prepoznavanje teksta. Budući da je Vision jednostavan za korištenje i potrebno mu je kratko vrijeme za implementaciju, korištenje je gotovo jednako igranju s Legos kockicama. Pokušajte testirati svoju aplikaciju na različitim objektima, fontovima, osvjetljenju i veličinama. Također možete impresionirati sami sebe kombiniranjem Visiona s Core ML-om.


Leave a Comment

ITunes: Kako preuzeti prethodno kupljenu glazbu, filmove i audioknjige

ITunes: Kako preuzeti prethodno kupljenu glazbu, filmove i audioknjige

Saznajte ovdje kako ponovo preuzeti kupljenu glazbu, filmove, aplikacije ili knjige na svoj Apple uređaj putem iTunes koristeći povijest kupnje iTunesa.

Kako izbrisati aplikacije s iClouda: 4 najbolje metode

Kako izbrisati aplikacije s iClouda: 4 najbolje metode

Imate li premalo prostora na iCloud-u? Pročitajte ovaj članak i saznajte kako izbrisati aplikacije s iClouda s iPad, iPhone, Mac i Windows PC uređaja.

IPhone ili iPad: Ekran izgleda preveliko ili previše povećano

IPhone ili iPad: Ekran izgleda preveliko ili previše povećano

Riješite problem gdje Apple iPhone ili iPad ekran izgleda povećano i prevelik za korištenje zbog problema s povećanjem na iPhone-u.

Popravite zamrznuti ili zaključani zaslon iPhone ili iPad

Popravite zamrznuti ili zaključani zaslon iPhone ili iPad

Želite popraviti zamrznuti ili zaključani zaslon iPhone ili iPad? Pročitajte ovaj članak kako biste pronašli jednostavne metode prije nego što kontaktirate Apple podršku.

iPhone: Nema zvona na dolaznim pozivima

iPhone: Nema zvona na dolaznim pozivima

Imate problema da vaš iPhone ne zvoni? Isprobajte ove korake za otklanjanje poteškoća prije slanja telefona na servis.

iPad: Kako umetnuti ili izvaditi SIM karticu

iPad: Kako umetnuti ili izvaditi SIM karticu

Saznajte kako pristupiti SIM kartici na Apple iPadu pomoću ovog vodiča.

Kako resetirati postavke iPhone i iPad: 7 najboljih metoda

Kako resetirati postavke iPhone i iPad: 7 najboljih metoda

Ako volite modificirati iOS postavke ili želite riješiti probleme, korisno je naučiti kako resetirati postavke iPhone i iPad. Pročitajte sada!

IPhone mape navigacija ne radi (zablokira se)

IPhone mape navigacija ne radi (zablokira se)

U ovom postu pokrivamo kako riješiti problem u kojem navigacija na kartama i GPS značajke ne rade ispravno na Apple iPhone-u.

Koliko dugo traje ažuriranje iPhonea za iOS 16.2: Procjena za 2023

Koliko dugo traje ažuriranje iPhonea za iOS 16.2: Procjena za 2023

Jeste li vidjeli najnovije ažuriranje za iOS 16.2 na svom iPhoneu i pitate se koliko dugo traje ažuriranje iPhonea za iOS 16.2? Pročitajte ovaj članak sada!

Kada će Apple objaviti iOS 17.4?

Kada će Apple objaviti iOS 17.4?

Stabilno ažuriranje za iOS 17.4 je iza ugla, s nekoliko značajnih promjena. Apple je nekoliko tjedana testirao beta verziju OS-a, s izdanjem