iPhone: Az iOS szövegészlelési funkcióinak használata

iPhone: Az iOS szövegészlelési funkcióinak használata

A Vision az iOS 11 rendszerben mindent tartalmaz, ami egy olyan alkalmazás létrehozásához szükséges, amely képes felismerni a szöveges karaktereket, miközben a megvalósítás egyidejűleg történik. Nincs szükség technikai kódolási ismeretekre – a funkcióban való navigálás meglehetősen egyszerű. Ráadásul a megvalósítás zökkenőmentes.

Vision Framework

A vision keretrendszer lehetővé teszi bármilyen számítógépes részleteket igénylő feladat egyszerű végrehajtását. A szerkezet arc- és tereptárgy-felismerést, vonalkód-felismerést, képregisztrációt, általános jellemzőkövetést és szövegészlelést végez. A Vision lehetővé teszi egyéni Core ML modellek használatát olyan feladatokhoz, mint az osztályozás vagy az objektumészlelés.

VN DetectTextRectanglesRequest

VN DetectTextRectanglesRequest  egy képelemzési kérés, amely megkeresi a képen látható szöveg régióit; a szolgáltatás a szöveges karaktereket téglalap alakú határolókeretként adja vissza eredetével és méretével.

Ha már hozzászokott a swift használatához, és már egy ideje programoz, akkor valószínűleg azon töpreng, mi a haszna a Visionnak, amikor más funkciók is vannak, mint például a kép és az AVFoundation. Nos, a Vision pontosabb és egyértelműbb. A funkció számos platformon is elérhető. A Vision használata azonban több feldolgozási teljesítményt és feldolgozási időt igényelhet.

A Vision szövegészleléshez való használatához Xcode 9-re és egy iOS 11-et futtató eszközre lesz szüksége.

Kamera létrehozása Avcapture segítségével

Először is létre kell hoznia egy kamerát az  AVCapture segítségével ; ez egy objektum AVcapturesession inicializálásával valós idejű vagy offline rögzítést hajt végre. Ezt követően hozza létre a munkamenetet az eszközkapcsolattal.

Annak érdekében, hogy időt takarítson meg az alkalmazás felhasználói felületének elkészítésével kapcsolatban, fontolja meg egy kezdő projekt létrehozását, amely lehetővé teszi, hogy a Vision keretrendszer megtanulására összpontosítson.

Nyissa meg a kezdő projektet. A storyboard nézeteinek készen kell állniuk és be kell állítaniuk az Ön számára.

ViewController.swift oldalon keresse meg a funkciókat és kimeneteket tartalmazó kódrészt  .

Az ImageView aljzatban jelöljön ki egy munkamenetet az  AVcapturesession számára  – ez akkor használatos, amikor élő közvetítés alapján szeretne műveleteket végrehajtani.

Állítsa az  AVcapturesession-t  és az  AVmediatype-  t videóra, mivel a kamera felvételét úgy fogja végrehajtani, hogy az folyamatosan működjön.

Határozza meg a kimeneti és bemeneti eszközt

A bemenetet a kamera fogja látni, a kimenet pedig a videó a KCVPixelFormatType_32GRA beállított típusú formátumban.

Végül adjon hozzá egy   videókat tartalmazó alréteget az  imageView-hoz,  és indítsa el a munkamenetet. A függvény inViewdidload néven ismert  .  A réteg keretét is be kell állítani.

Hívja meg a függvényt a  viewWillAppear  metódusban.

Mivel a határok még nincsenek véglegesítve, felülírja a  viewDidLayoutSubviews ( )  metódust a fóliák kötöttségének frissítéséhez.

Az iOS 10 megjelenése után egy további bejegyzés szükséges az Info.plist-ben, ez indokolja a kamera használatát. Ezenkívül be kell állítania az Adatvédelem-Kamera használati leírását.

Szövegészlelés; Hogyan működik a Vision Framework

Három lépésből áll a Vision megvalósítása az alkalmazásban.

Kezelők –  ez az, amikor azt szeretné, hogy a keretrendszer tegyen valamit a kérés meghívása után.

Észrevételek –  ezt kívánja tenni az Ön által megadott adatokkal, egy kéréssel kezdve

Kérések –  ekkor kéri a Detect keretrendszert

Ideális esetben egyetlen szöveges kérést hoz létre  VNdetecttextrectanglesrequest néven . Ez egyfajta  VNrequest,  amely a szöveg körül határol . Miután a keretrendszer befejezte az alkalmazást, folytathatja a  Dettexthandler  függvény meghívását . Érdemes tudnia a felismert képkockát is, és állítsa be  Reportcharacterboxes =True értékre .

Ezután határozza meg azokat a megfigyeléseket, amelyek a VNdetecttextrectanglesrequest összes eredményét tartalmazzák , és ne felejtse el hozzáadni a  Visiont a kimeneti kamerához. Mivel a Vision magas szintű API-kat tesz elérhetővé, a vele való munkavégzés biztonságos.

A függvény ellenőrzi, hogy  létezik- e a  Cmsamplebuffer és a PutOut  Avcaptureoutput . Meg kell majd eljárni, hogy hozzon létre egy változót  Requestoptions  mint 1 szótár Type  VNimageoption . A  VNmage  egy olyan típusú struktúra, amely a fényképezőgép tulajdonságait és adatait tartalmazza. Ezután létre kell hoznia a VNimagerequesthandlert,  és végre kell  hajtania a szöveges kérést.

Szegélyek húzása az észlelt szöveg köré

Kezdheti azzal, hogy a keretrendszer két dobozt rajzol, egyet minden észlelt betűhöz, a másikat pedig minden szóhoz. A táblázatok az összes karakterdoboz kombinációi, amelyeket a kérés megtalál.

  • Határozza meg a pontokat a nézetén, hogy segítsen elhelyezni a dobozokat.
  • Ezután hozzon létre egy  CALaye r-t; a  VNrectangleobservation  segítségével határozza meg a kényszereket, megkönnyítve ezzel a doboz körvonalazásának folyamatát.

Mostantól minden funkciója meg van határozva.

A pontok összekapcsolásához először futtassa a kódot aszinkron módon. Ezután ellenőrizze, hogy létezik-e régió a VNTextObservation eredményei között  .

Most behívhatja a funkcióját, amely egy dobozt rajzol a területen. Ellenőrizze, hogy vannak-e karakterdobozok a régióban, majd hívja a szolgáltatást, amely minden betű körül egy dobozt hoz.

Ezután hozzon létre egy RequestOptions változót  Most létrehozhat egy  VNImageRequestHandler  objektumot, és végrehajthatja a létrehozott szöveges kérést.

Végül az utolsó lépés a látáskód futtatása az élő közvetítéssel. Ki kell venni a videokimenetet, és át kell konvertálnia  Cmsamplebufferbe.

További tippek

Mindig próbálja kivágni a képet, és csak azt a részt dolgozza fel, amelyre szüksége van. Ez csökkenti a feldolgozási időt és a memória helyigényét

Kapcsolja be a nyelvi korrekciót, ha nem numerikus karakterekkel dolgozik, majd kapcsolja ki, ha numerikus karakterekkel dolgozik

Tartalmazza a felismert számsorok érvényesítését a pontosság megerősítése és a hamis értékek felhasználó számára történő megjelenítésének elkerülése érdekében.

A dokumentumkamera vezérlő a legjobb társ a szövegfelismeréshez, mivel a képminőség jelentős szerepet játszik a szövegfelismerésben.

A teljesítmény növelése érdekében fontolja meg egy minimális szövegmagasság beállítását.

A Vision segítségével mindent megtalál, ami a szövegfelismeréshez szükséges. Mivel a Vision használata egyszerű, és a megvalósítás rövid időt vesz igénybe, a használata szinte egyenértékű a Legóval való játékkal. Próbálja meg tesztelni az alkalmazást különböző objektumokon, betűtípusokon, világításon és méreteken. A Vision és a Core ML kombinálásával is lenyűgözheti magát.


Mennyire pontos az Apple Watch kalóriaszámlálója?

Mennyire pontos az Apple Watch kalóriaszámlálója?

Olvassa el a cikket, hogy megtudja, mennyire pontos az Apple Watch kalóriaszámlálója és hogyan kell használni az Apple Health alkalmazást a kalóriák követésére.

Safari iPhone és iPad számára: „Nem sikerült megnyitni az oldalt, túl sok az átirányítás” Javítás

Safari iPhone és iPad számára: „Nem sikerült megnyitni az oldalt, túl sok az átirányítás” Javítás

Javítson ki egy hibát, amelynél Nem sikerült megnyitni az oldalt, túl sok az átirányítás, amikor Apple iPhone vagy iPad készülékén böngészik az interneten.

A 10 legjobb jegyzetkészítő alkalmazás iPadre 2023-ban

A 10 legjobb jegyzetkészítő alkalmazás iPadre 2023-ban

A legjobb jegyzetkészítő alkalmazást keresi iPadhez? Ebben a cikkben megtalálja a kiválasztott alkalmazásokat tudományos, személyes, szakmai vagy üzleti használatra.

Hogyan ütemezhetek szöveges üzeneteket az iPhone-omon?

Hogyan ütemezhetek szöveges üzeneteket az iPhone-omon?

Néha szeretné ütemezni a szöveges üzeneteket iPhone-ján, hogy a munka idővonala zökkenőmentes legyen. Ilyen célokra két módszer áll rendelkezésére, például a Parancsikon és az Ütemezett alkalmazás használata az üzenetek automatizálására.

iPhone: Nincs csengőhang a bejövő hívásoknál

iPhone: Nincs csengőhang a bejövő hívásoknál

Nem hallja az Apple iPhone csengőhangját, amikor valaki hív? Ismerje meg a probléma megoldására vonatkozó legjobb tippeket és trükköket.

Mikor adja ki az Apple az IOS 17.4-et?

Mikor adja ki az Apple az IOS 17.4-et?

A stabil iOS 17.4-es frissítés a sarkon van, és számos jelentős változást tartalmaz. Az Apple néhány hete béta teszteli az operációs rendszert, a kiadással

A Microsoft végre bemutatja a Cortanát IOS-re és Androidra az Egyesült Királyságban

A Microsoft végre bemutatja a Cortanát IOS-re és Androidra az Egyesült Királyságban

A Microsoft végre elhozza digitális asszisztensét, a Cortanát Androidra és iOS-re az Egyesült Királyságban. A kiadás, amely körülbelül egy évvel hasonló megjelenés után jelenik meg

A képernyőfelvételt nem sikerült elmenteni az 5823 miatt

A képernyőfelvételt nem sikerült elmenteni az 5823 miatt

Az 5823-as hibakód iPhone és iPad eszközökre vonatkozik. Ez akkor fordul elő, amikor a felhasználók megpróbálják menteni a képernyőfelvételüket.

Google Térkép: Hogyan húzz le egy helymeghatározó pint a térképen

Google Térkép: Hogyan húzz le egy helymeghatározó pint a térképen

Gyorsan dobjon egy gombostűt a Google Térképbe, hogy pontos helyet kapjon, amelyet megoszthat barátaival. Tekintse meg, hogyan dobhat fel egy Google Térkép gombostűt iPadOS 14, Android és Desktop rendszeren.

Javítsa ki, hogy a Signal App nem működik iPhone-on

Javítsa ki, hogy a Signal App nem működik iPhone-on

Ha nem tudja használni a Signalt iOS rendszeren, ellenőrizze az alkalmazás- és iOS-frissítéseket. Ezután szerkessze az alkalmazás engedélyeit, tiltsa le az alacsony fogyasztású módot, és telepítse újra az alkalmazást.