paint-brush
د ایپل د لید چوکاټ سره پیل کول: د پراختیا کونکي لیدلخوا@threadmaster
479 لوستل
479 لوستل

د ایپل د لید چوکاټ سره پیل کول: د پراختیا کونکي لید

لخوا Boris Dobretsov5m2025/02/19
Read on Terminal Reader

ډېر اوږد؛ لوستل

د ایپل ویژن چوکاټ په iOS 11 کې معرفي شو. دا پراختیا کونکو ته اجازه ورکوي چې د لید مینځپانګې تحلیل کړي او د اړتیا سره سم وروسته پروسس ترسره کړي. پدې مقاله کې به موږ د ویژن کارولو اصلي سناریوګانو ته د کوډ مثالونو سره وګورو.
featured image - د ایپل د لید چوکاټ سره پیل کول: د پراختیا کونکي لید
Boris Dobretsov HackerNoon profile picture
0-item
1-item

د ویژن چوکاټ د ایپل لخوا په ۲۰۱۷ کال کې په WWDC کې د iOS ۱۱ برخې په توګه معرفي شو. د هغې پیل د ماشین لید او عکس تحلیل په تکامل کې یو مهم بدلون وباله، چې پراختیا کونکو ته یې د بصري مینځپانګې تحلیل کولو او د اړتیا سره سم د پروسس کولو لپاره اصلي وسایل چمتو کړل.


په ۲۰۱۷ کال کې، ویژن معرفي کړ:

  • د متن پیژندنه
  • د مخ پیژندنه
  • د مستطیل شکلونو کشف
  • د بارکوډ او QR کوډ پیژندنه


د خپل پیل راهیسې، ایپل په دوامداره توګه د ویژن چوکاټ ته وده ورکړې، ډاډ ترلاسه کوي چې دا د عصري اړتیاو پوره کولو لپاره وده کوي. د 2024 تر پایه پورې، د iOS 18 په خپریدو سره، ویژن اوس وړاندې کوي:

  • د ګڼ شمېر ژبو ملاتړ سره د متن د پیژندنې دقت ښه شوی
  • د مخونو او د هغوی د ځانګړتیاوو کشف
  • د حرکتونو تحلیل کولو وړتیا
  • د پوستونو پیژندلو وړتیا، په شمول د لاسونو موقعیت او د انسان د بدن مهم ټکي
  • په ویډیو کې د شیانو تعقیبولو لپاره ملاتړ
  • د دودیز ماشین زده کړې ماډلونو سره د کار کولو لپاره د CoreML سره ښه ادغام
  • د اړوندو چوکاټونو سره ژور ادغام، لکه AVKit، ARKit


د ویژن چوکاټ په راتګ سره، پراختیا کونکو دا وړتیا ترلاسه کړه چې د دریمې ډلې حلونو باندې تکیه کولو پرته په اصلي ډول د پرمختللي عکس او ویډیو تحلیل دندې ترسره کړي. پدې وړتیاو کې د اسنادو سکین کول، د متن پیژندل، د مخونو او پوزونو پیژندل، د نقل عکسونو کشف کول، او د سوداګرۍ عملیات ساده کولو لپاره د مختلفو پروسو اتومات کول شامل دي.


پدې مقاله کې، موږ به د ویژن کارولو اصلي سناریوګانې د کوډ مثالونو سره وګورو چې تاسو سره به مرسته وکړي چې پوه شئ چې څنګه ورسره کار وکړئ، پوه شئ چې دا ستونزمن نه دی، او په خپلو غوښتنلیکونو کې یې په عمل کې پلي کول پیل کړئ.

د VNRequest

ویژن د VNRequest یوه لنډه طبقه لري چې په ویژن کې د معلوماتو غوښتنې جوړښتونه تعریفوي، او د اولاد ټولګي د عکس سره د ځانګړو دندو ترسره کولو لپاره ځانګړي غوښتنې پلي کوي.


ټول فرعي ټولګي د VNRequest ټولګي څخه پیل کوونکی په میراث اخلي.

 public init(completionHandler: VNRequestCompletionHandler? = nil)

کوم چې د غوښتنې د پروسس کولو پایله بیرته راګرځوي. دا مهمه ده چې روښانه شي چې د غوښتنې پایله به په ورته کتار کې بیرته راشي چې غوښتنه پکې لیږل شوې وه.


چیرته چې VNRequestCompletionHandler یو ډول نوم دی.

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

کوم چې د غوښتنې پایلو سره VNRequest بیرته راولي یا که غوښتنه د سیسټم د غلطۍ، غلط عکس، او نورو له امله نه وي اجرا شوې، نو یوه تېروتنه راولي.


د VNRecognizeTextRequest ټولګي د لنډیز VNRequest ټولګي څخه ډیزاین شوی ترڅو په انځورونو کې د متن پیژندنې غوښتنې اداره کړي.


د متن پیژندنې لپاره د غوښتنې پلي کولو مثال:

 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 جوړ کړئ.


  2. د متن پیژندنې غوښتنې پایلې د VNRecognizedTextObservation شیانو د صفونو په توګه ترلاسه کړئ.


د VNRecognizedTextObservation څیز لري:

  • د پیژندل شویو متنونو لړۍ (V NRecognizedText().string )
  • د پیژندنې دقت ( VNRecognizedText().confidence )
  • په انځور کې د پیژندل شوي متن همغږي ( VNRecognizedText().boundingBox )


  1. د انځور پروسس کولو لپاره یوه غوښتنه جوړه کړئ، او د متن پیژندنې لپاره یوه غوښتنه واستوئ.


  2. بېلګه: د اسنادو د پیژندنې لپاره د خپل SDK د جوړولو پر مهال د مالیې د پیژندنې نمبر او د پاسپورټ نمبر پیژندل

د VNDetect مخ مستطیل غوښتنه

دا ټولګی په انځور کې مخونه پیدا کوي او د هغوی همغږي بیرته راګرځوي.


د مخ پیژندنې غوښتنې پلي کولو یوه بیلګه:

 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 جوړ کړئ.


  2. د متن پیژندنې غوښتنې پایلې د VNFaceObservation شیانو د صفونو په توګه ترلاسه کړئ.


د VNFaceObservation څیز لري:

  1. د پیژندل شوي مخ VNFaceObservation().boundingBox همغږي.


  2. د عکس پروسس کولو لپاره غوښتنه جوړه کړئ او د مخ پیژندنې غوښتنه واستوئ.


  3. مثال: په بانکونو کې، د KYC آن بورډینګ شتون لري چیرې چې تاسو باید د خپل پاسپورټ سره عکس واخلئ؛ پدې توګه، تاسو کولی شئ تایید کړئ چې دا د یو اصلي کس مخ دی.


د VNDetect بارکوډونو غوښتنه

دا ټولګی د عکس څخه بارکوډونه او QR کوډونه پیژني او لوستل یې کوي.


د بارکوډ او 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 جوړ کړئ.


  2. د VNBarcodeObservation د اعتراض صف غوښتنې پایلې ترلاسه کړئ.


د VNBarcodeObservation څیز ډیری ځانګړتیاوې لري، په شمول د:

  1. د VNFaceObservation().payloadStringValue - د بارکوډ یا QR کوډ د تار ارزښت.


  2. د عکس پروسس کولو لپاره غوښتنه جوړه کړئ، او د مخ پیژندنې لپاره غوښتنه واستوئ.


  3. بېلګه: د تادیې لپاره د QR کوډونو لوستلو لپاره د QR سکینر.


موږ په ویژن کې د پوښتنو درې اصلي ډولونه پوښلي دي ترڅو تاسو سره د دې ځواکمن وسیلې سره پیل کولو کې مرسته وکړي.