paint-brush
Apple ukan Visión Framework ukamp qalltaña: Mä Desarrollador ukan uñjawipa ukata@threadmaster
Machaq sarnaqäwi

Apple ukan Visión Framework ukamp qalltaña: Mä Desarrollador ukan uñjawipa

ukata Boris Dobretsov5m2025/02/19
Read on Terminal Reader

Sinti jaya pachanakawa; Uñxatt’añataki

Apple ukan Vision framework ukax iOS 11 ukan uñt’ayatawa, ukax lurayirinakarux uñjañ contenido ukar uñakipañapatakiw jayti ukatx qhipa lurawinak lurañapatakiw yanapt’i kunjamatix wakiski ukhamarjama. Aka qillqatanx Vision apnaqañan jach’a escenarios ukanakat uñakipt’añäni, código uñacht’awinakampi.
featured image - Apple ukan Visión Framework ukamp qalltaña: Mä Desarrollador ukan uñjawipa
Boris Dobretsov HackerNoon profile picture
0-item
1-item

Marco de Visión ukax Apple ukan uñt’ayatawa 2017 maran WWDC ukan iOS 11 ukan chikancht’asitapa, uñstayawipax mä turkakipäw uñacht’ayi, maquina de visión ukat uñacht’äwinak uñakipañan evolución ukanxa, ukax desarrolladores ukanakarux herramientas nativas ukanakaw churasi, ukax contenido visual ukar uñakipañataki ukhamarak qhipa lurawinak lurañatakiw kunjamatix wakiski ukhamarjama.


2017 maranx Vision ukax uñt’ayawayiwa:

  • Texto uñt’ayaña
  • Uñnaqa uñt’aña
  • Rectangular uñtatanaka uñt’aña
  • Código de barras ukat código QR uñt’ayaña


Nayrïr uñstawipatpachax Apple ukax Vision marco ukarux sapüruw jach’anchayi, jichha pacha mayiwinakar phuqhañatakix jilxattañapataki. 2024 mara tukuykamax iOS 18 ukan uñstatapatxa, Vision ukax jichhax akham uñacht’ayi:

  • Walja arunakar yanapt’asaw qillqat uñt’añ chiqapar uñjañax juk’amp aski
  • Ajanunaka ukhamaraki uñnaqanakapa uñt’aña
  • Kuyuñanaka uñakipaña yatiña
  • Poses uñt’añ yatiña, amparanakax kawkhans jikxatasi ukat jaqin janchipan wakiskir puntonakapa
  • Videon yänak arknaqañatak yanapt’aña
  • CoreML ukamp juk’amp suma mayacht’asiwix maquina-yatiqañ modelos personalizados ukanakamp irnaqañataki
  • Uñt’at marcos ukanakamp manqhan mayacht’asiwi, kunjamakitix AVKit, ARKit


Vision marco ukan uñstatapampixa, lurayirinakax nayrar sartañ uñacht’awinak ukhamarak video uñakipañ lurawinakamp nativo ukham lurañ yatiñaw jikxatapxäna, jan kimsïr solucionanakar atinisisa. Aka lurawinakaxa qillqatanaka escanear, qillqatanaka uñt’aña, ajanunaka ukhamaraki poses ukanaka uñt’aña, duplicados uñacht’awinaka uñt’aña, ukhamaraki kunaymana lurawinakata automatización ukanaka luraña, ukaxa negocios ukanakana lurawinakapa agilizar.


Aka qillqatanx Vision apnaqañan jach’a escenarios ukanakat uñakipt’añäni, código uñacht’awinakampi, ukax kunjams ukampiw irnaqañax uk amuyañ yanapt’ätam, janiw ch’amäkiti uk amuyañataki, ukatx aplicaciones ukanx práctica ukan apnaqañ qalltañamawa.

VNRequest ukax mä juk’a pachanakanwa

Vision ukax mä clase abstracta VNRequest ukampiw utji, ukax Vision ukanx datos mayiw estructuras ukanakaw qhanañchasi, ukatx descendientes clases ukanakax específicos mayiwinak phuqhapxi, mä uñacht’äwimp específicos lurawinakar phuqhañataki.


Taqi subclases ukanakax VNRequest clase ukan qalltayirirux herencia katuqapxi.

 public init(completionHandler: VNRequestCompletionHandler? = nil)

Ukax mayiwi phuqhañ tuqit apsutawa. Wali askiw qhananchañaxa, uka mayiwix pachpa filaruw kutt’ayatäni, kawkhantix mayiwix apayatän uka pachpa filaruw kutt’ayatäni.


Kawkhantix VNRequestCompletionHandler ukax mä typealias ukhamawa.

 public typealias VNRequestCompletionHandler = (VNRequest, (any Error)?) -> Void

Kawkïris mä VNRequest ukax mayiwin lurawinakapamp kutt’ayaraki jan ukax mä Pantjasiw mayiwix jan phuqhaskänti kunatix yaqhip sistema pantjasiwi, jan chiqap uñacht’awi, ukat juk’ampinaka.


VNRecognizeTextRequest clase ukax abstracto VNRequest clase ukat luratawa, ukax qillqat uñt’ayañ mayiwinak uñacht’äwinakan apnaqañatakiw wakicht’ata.


Qillqata uñt’ayañataki mayiwi phuqhaña uñacht’awi:

 import Vision import UIKit func recognizeText(from image: UIImage) { guard let cgImage = image.cgImage else { return } let request = VNRecognizeTextRequest { request, error in // 1 guard let observations = request.results as? [VNRecognizedTextObservation] else { return } // 2 for observation in observations { if let topCandidate = observation.topCandidates(1).first { print("Recognized text: \(topCandidate.string)") print("Text boundingBox: \(observation.boundingBox)") print("Accuracy: \(topCandidate.confidence)") } } } request.recognitionLevel = .accurate request.usesLanguageCorrection = true let handler = VNImageRequestHandler(cgImage: cgImage, options: [:]) // 3 try? handler.perform([request]) // 3 }


  1. VNRecognizeTextRequest luraña qillqa uñt’ayañataki.


  2. Qillqa uñt’añ mayiwix VNRecognizedTextObservation yänakan matrizes ukham katuqaña.


VNRecognizedTextObservation uka yänakax akanakawa:

  • Mä matriz uñt’at qillqatanaka (V NRecognizedText().string ) .
  • Uñt’ayawi chiqapa ( VNRecognizedText().confidence ) .
  • Uñt’at qillqatan coordenadas ukanakax uñacht’ayatawa ( VNRecognizedText().boundingBox )


  1. Uñacht’awinak lurañataki mayiwi luraña, ukatxa qillqa uñt’ayañataki mayiwi apayaniña.


  2. Jiskt’awi: Impuesto uñt’ayawi jakhu ukhamaraki pasaporte jakhu uñt’ayaña kunapachatixa pachpa SDK luraña documento uñt’ayañataki

VNDetectUñnaqaRectángulos uka mayiwi

Aka clase ukax mä uñacht’äwin ajanunak jikxati ukatx coordenadas ukanakap kutt’ayaraki.


Mä ajanu uñt’añ mayiwi phuqhañ uñacht’awi:

 import Vision import UIKit func detectFaces(from image: UIImage) { guard let cgImage = image.cgImage else { return } let request = VNDetectFaceRectanglesRequest { request, error in // 1 guard let results = request.results as? [VNFaceObservation] else { return } // 2 for face in results { print("Face detected: \(face.boundingBox)") } } let handler = VNImageRequestHandler(cgImage: cgImage, options: [:]) // 3 try? handler.perform([request]) // 3 }


  1. VNDEtectFaceRectanglesRequest luraña mä uñacht’awina ajanu uñt’añataki.


  2. Qillqa uñt’añ mayiwix VNFaceObservation yänakan matrizes ukham katuqaña.


VNFaceObservation uka yänakax akanakawa:

  1. Uñt’at uñnaqan coordenadas VNFaceObservation().boundingBox.


  2. Uñacht’awinak lurañataki mayiwi luraña ukatxa ajanu uñt’añataki mayiwi apayaniña.


  3. Amuyt’awi: Banconakanx mä KYC onboarding ukaw utji kawkhantix pasaporte ukamp foto apsuñax wakisi; ukhamatwa, ukax chiqpach jaqin ajanupawa sasaw chiqanchasma.


VNDEtectBarcódigos ukax mä juk’a pachanakanwa

Aka clase ukax códigos de barras ukat códigos QR ukanak mä uñacht’äwit uñt’ayi ukat uñakipi.


Uñacht’awi mä mayiwi phuqhañataki uñt’añataki ukhamaraki uñakipañataki mä código de barras ukhamaraki código QR:

 import Vision import UIKit func detectBarcodes(from image: UIImage) { guard let cgImage = image.cgImage else { return } let request = VNDetectBarcodesRequest { request, error in // 1 guard let results = request.results as? [VNBarcodeObservation] else { return } // 2 for qrcode in results { print("qr code was found: \(qrcode.payloadStringValue ?? "not data")") } } let handler = VNImageRequestHandler(cgImage: cgImage, options: [:]) // 3 try? handler.perform([request]) // 3 }


  1. VNDEtectBarcodesRequest uñt’ayañataki luraña.


  2. VNBarcodeObservation ukax mä objeto matriz mayiwimpiw lurasi.


VNBarcodeObservation ukax walja propiedades ukaniwa, ukanakax akanakawa:

  1. VNFaceObservation().payloadStringValue - ukax código de barras jan ukax QR ukan chimpunakapan chimpupawa.


  2. Uñacht’awinak lurañataki mayiwi luraña, ukatxa ajanu uñt’añataki mayiwi apayaniña.


  3. Amuyt’awi: QR escáner ukax códigos QR uñakipañatakiw payllañataki.


Vision ukan 3 jach’a kasta jiskt’äwinakatw uñakipt’apxta, aka ch’aman herramienta ukamp qalltañ yanapt’añataki.