IPhone: Πώς να χρησιμοποιήσετε τις δυνατότητες ανίχνευσης κειμένου iOS

click fraud protection

Το Vision στο iOS 11 έχει όλα όσα χρειάζεστε για να δημιουργήσετε μια εφαρμογή που μπορεί να αναγνωρίζει χαρακτήρες κειμένου με την υλοποίηση να γίνεται ταυτόχρονα. Δεν χρειάζεστε γνώσεις τεχνικής κωδικοποίησης - η πλοήγηση στη λειτουργία είναι αρκετά απλή. Επιπλέον, η υλοποίηση είναι απρόσκοπτη.

Πλαίσιο Οράματος

Το πλαίσιο όρασης σάς δίνει τη δυνατότητα να υλοποιήσετε εύκολα οποιαδήποτε εργασία που περιλαμβάνει λεπτομέρειες υπολογιστή. Η δομή εκτελεί εντοπισμό ορόσημων προσώπων και προσώπων, αναγνώριση γραμμωτού κώδικα, εγγραφή εικόνας, παρακολούθηση γενικών χαρακτηριστικών και ανίχνευση κειμένου. Το Vision σάς επιτρέπει επίσης να χρησιμοποιείτε προσαρμοσμένα μοντέλα Core ML για εργασίες όπως ταξινόμηση ή ανίχνευση αντικειμένων.

VN DetectTextRectanglesRequest

ο VN DetectTextRectanglesRequest είναι ένα αίτημα ανάλυσης εικόνας που βρίσκει περιοχές ορατού κειμένου σε μια εικόνα. το χαρακτηριστικό επιστρέφει χαρακτήρες κειμένου ως ορθογώνιο πλαίσιο οριοθέτησης με προέλευση και μέγεθος.

Εάν έχετε συνηθίσει να χρησιμοποιείτε το swift και έχετε προγραμματίσει για λίγο, τότε πιθανότατα αναρωτιέστε ποια είναι η χρήση του Vision όταν υπάρχουν άλλες δυνατότητες όπως το image και το AVFoundation. Λοιπόν, το Vision είναι πιο ακριβές και πιο απλό. Η δυνατότητα είναι επίσης διαθέσιμη σε διάφορες πλατφόρμες. Ωστόσο, η χρήση του Vision ενδέχεται να απαιτεί περισσότερη ισχύ επεξεργασίας και χρόνο επεξεργασίας.

Για να χρησιμοποιήσετε το Vision για ανίχνευση κειμένου, θα χρειαστείτε το Xcode 9 και μια συσκευή που εκτελεί iOS 11.

Δημιουργία κάμερας με Avcapture

Πρώτα, πρέπει να δημιουργήσετε μια κάμερα με AVCapture; Αυτό γίνεται με την προετοιμασία ενός αντικειμένου AVcapturesession για λήψη σε πραγματικό χρόνο ή εκτός σύνδεσης. Μετά από αυτό, πραγματοποιήστε τη συνεδρία στη σύνδεση της συσκευής.

Για να εξοικονομήσετε χρόνο από τη δημιουργία μιας διεπαφής χρήστη της εφαρμογής σας, εξετάστε το ενδεχόμενο να έχετε ένα έργο εκκίνησης, αρχικά, αυτό θα σας δώσει χρόνο να εστιάσετε στην εκμάθηση του πλαισίου του Vision.

  1. Ανοίξτε το αρχικό έργο σας. Οι προβολές στο σενάριο θα πρέπει να είναι έτοιμες και ρυθμισμένες για εσάς.
  2. Στο ViewController.swift, αναζητήστε την ενότητα κωδικών με λειτουργίες και εξόδους.
  3. Κάτω από την πρίζα-ImageView, dκηρύξτε μια συνεδρία για AVcapturesession – χρησιμοποιείται όποτε θέλετε να εκτελούνται ενέργειες με βάση μια ζωντανή ροή.
  4. Ρυθμίστε το AVcapturesession και το AVmediatype σε βίντεο αφού θα εκτελέσετε τη λήψη της κάμερας για να μπορέσει να εκτελεστεί συνεχώς
  5. Καθορίστε τη συσκευή εξόδου και εισόδου
  6. Η είσοδος είναι αυτό που θα δει η κάμερα και η έξοδος είναι το βίντεο σε μια καθορισμένη μορφή τύπου KCVPixelFormatType_32GRA.
  7. Τέλος, προσθέστε ένα υποστιβάδα που περιέχει βίντεο προς Προβολή εικόνας και ξεκινήστε τη συνεδρία. Η συνάρτηση είναι γνωστή ως inViewdidload. Πρέπει επίσης να ρυθμίσετε το πλαίσιο του στρώματος.

Καλέστε τη συνάρτηση στο προβολήΘα εμφανιστεί μέθοδος.

Καθώς τα όρια δεν έχουν ακόμη οριστικοποιηθεί, παρακάμψτε το viewDidLayoutSubviews ( ) μέθοδος ενημέρωσης των δεσμευμένων επιπέδων.

Μετά την κυκλοφορία του iOS 10, απαιτείται μια πρόσθετη καταχώριση στο Info.plist, κάτι που παρέχει έναν λόγο για τη χρήση της κάμερας. Θα πρέπει επίσης να ορίσετε Privacy-Camera Usage Description.

Ανίχνευση κειμένου; Πώς λειτουργεί το Vision Framework

Υπάρχουν τρία βήματα για την εφαρμογή του Vision στην εφαρμογή.

  1. Χειριστές - Αυτό συμβαίνει όταν θέλετε το πλαίσιο να κάνει κάτι μετά την κλήση του αιτήματος.
  2. Παρατηρήσεις - αυτό είναι που θέλετε να κάνετε με τα δεδομένα που παρέχετε ξεκινώντας με ένα αίτημα
  3. Αιτήσεων - αυτό είναι όταν ζητάτε το πλαίσιο ανίχνευσης

Στην ιδανική περίπτωση, δημιουργείτε ένα αίτημα κειμένου ως VNdetecttextrectangles request. Αυτό είναι ένα είδος Αίτημα VN που περιβάλλει το κείμενο. Αφού το πλαίσιο ολοκληρώσει την εφαρμογή, προχωράτε στην κλήση του Detexthandler λειτουργία. Θα θέλετε επίσης να μάθετε το ακριβές πλαίσιο που αναγνωρίστηκε, ρυθμίστε το σε Πλαίσια χαρακτήρων αναφοράς=Αλήθεια.

Μετά από αυτό, ορίστε τις παρατηρήσεις που περιέχουν όλα τα αποτελέσματα του VNdetecttextrectangles request, θυμηθείτε να προσθέσετε το Vision στην κάμερα εξόδου. Εφόσον το Vision εκθέτει API υψηλού επιπέδου, η εργασία με αυτό είναι ασφαλής.

Η συνάρτηση ελέγχει εάν το Cmsamplebuffer υπάρχει και PutOut Έξοδος Avcapture. Στη συνέχεια, θα πρέπει να προχωρήσετε στη δημιουργία μιας μεταβλητής Αιτήσεις ως 1 Τύπος Λεξικού VNimageoption. ο VNmage Η επιλογή είναι ένας τύπος δομής που περιέχει ιδιότητες και δεδομένα από την κάμερα. Στη συνέχεια θα πρέπει να δημιουργήσετε το VNimagerequesthandler και εκτελέστε το αίτημα κειμένου.

Εντοπίστηκε σχεδίαση περιγραμμάτων γύρω από το κείμενο

Μπορείτε να ξεκινήσετε έχοντας το πλαίσιο για να σχεδιάσετε δύο πλαίσια, ένα για κάθε γράμμα που εντοπίζει και το άλλο για κάθε λέξη. Οι πίνακες είναι ο συνδυασμός όλων των πλαισίων χαρακτήρων που θα βρει το αίτημά σας.

  • Καθορίστε τα σημεία στην άποψή σας για να σας βοηθήσουν να τοποθετήσετε τα πλαίσια.
  • Μετά από αυτό, δημιουργήστε ένα CALayer; χρήση VN παρατήρηση ορθογωνίου για να καθορίσετε τους περιορισμούς σας, διευκολύνοντας τη διαδικασία σύνταξης του πλαισίου.

Τώρα έχετε διαμορφώσει όλες τις λειτουργίες σας.

Για να συνδέσετε τις τελείες σας, ξεκινήστε με την ασύγχρονη εκτέλεση του κωδικού σας. Στη συνέχεια, θα πρέπει να ελέγξετε εάν υπάρχει μια περιοχή στα αποτελέσματά σας Παρατήρηση VNText.

Τώρα μπορείτε να καλέσετε τη συνάρτησή σας, η οποία θα σχεδιάσει ένα πλαίσιο εντός της περιοχής. Ελέγξτε για να δείτε αν υπάρχουν πλαίσια χαρακτήρων εντός της περιοχής και, στη συνέχεια, καλέστε την υπηρεσία που φέρνει ένα πλαίσιο γύρω από κάθε γράμμα.

Μετά από αυτό, δημιουργήστε μια μεταβλητή Επιλογές αιτήματος. Τώρα μπορείτε να δημιουργήσετε ένα VNImageRequestHandler αντικείμενο και εκτελέστε το αίτημα κειμένου που δημιουργήσατε.

Τέλος, το τελευταίο βήμα είναι να εκτελέσετε τον κωδικό όρασής σας με τη ζωντανή ροή. Θα χρειαστεί να πάρετε την έξοδο βίντεο και να το μετατρέψετε σε Cmsamplebuffer.

Πρόσθετες Συμβουλές

  1. Προσπαθήστε πάντα να περικόψετε την εικόνα και να επεξεργάζεστε μόνο την ενότητα που χρειάζεστε. Αυτό θα μειώσει τον χρόνο επεξεργασίας και το αποτύπωμα μνήμης
  2. Ενεργοποιήστε τη διόρθωση γλώσσας όταν ασχολείστε με μη αριθμητικούς χαρακτήρες και, στη συνέχεια, απενεργοποιήστε τη όταν έχετε να κάνετε με έναν αριθμητικό χαρακτήρα
  3. Συμπεριλάβετε επικύρωση για αναγνωρισμένες συμβολοσειρές αριθμών για να επιβεβαιώσετε την ακρίβεια και να εξαλείψετε την εμφάνιση ψευδούς τιμής στον χρήστη.
  4. Ο ελεγκτής κάμερας εγγράφων είναι ο καλύτερος σύντροφος για την αναγνώριση κειμένου, καθώς η ποιότητα της εικόνας παίζει σημαντικό ρόλο στην αναγνώριση κειμένου.
  5. Εξετάστε το ενδεχόμενο να ορίσετε ένα ελάχιστο ύψος κειμένου για να αυξήσετε την απόδοση.

Με το Vision, έχετε όλα όσα χρειάζεστε για την αναγνώριση κειμένου. Δεδομένου ότι το Vision είναι εύκολο στη χρήση και απαιτεί λίγο χρόνο για την εφαρμογή του, η χρήση του είναι σχεδόν ισοδύναμη με το παιχνίδι με Lego. Δοκιμάστε να δοκιμάσετε την εφαρμογή σας σε διαφορετικά αντικείμενα, γραμματοσειρές, φωτισμό και μεγέθη. Μπορείτε επίσης να εντυπωσιάσετε τον εαυτό σας συνδυάζοντας το Vision με το Core ML.