iPhone: Cách sử dụng các tính năng phát hiện văn bản của iOS

Vision trong iOS 11 có mọi thứ bạn cần để tạo một ứng dụng có thể nhận dạng các ký tự văn bản với việc triển khai diễn ra đồng thời. Bạn không cần phải có kiến ​​thức về mã hóa kỹ thuật - việc điều hướng tính năng này khá đơn giản. Hơn nữa, việc triển khai diễn ra liền mạch.

Khung tầm nhìn

Khung tầm nhìn cho phép bạn dễ dàng thực hiện bất kỳ nhiệm vụ nào liên quan đến chi tiết máy tính. Cấu trúc thực hiện phát hiện khuôn mặt và mốc khuôn mặt, nhận dạng mã vạch, đăng ký hình ảnh, theo dõi tính năng chung và phát hiện văn bản. Vision cũng cho phép bạn sử dụng các mô hình Core ML tùy chỉnh cho các tác vụ như phân loại hoặc phát hiện đối tượng.

VN DetectTextRectangularRequest

Các  VN DetectTextRectanglesRequest  là một yêu cầu phân tích hình ảnh mà thấy khu vực của văn bản rõ ràng trong một hình ảnh; tính năng này trả về các ký tự văn bản dưới dạng một hộp giới hạn hình chữ nhật với nguồn gốc và kích thước.

Nếu bạn đã quen với việc sử dụng swift và đã lập trình được một thời gian, thì chắc hẳn bạn đang thắc mắc công dụng của Vision là gì khi có các tính năng khác như image và AVFoundation. Vâng, Vision chính xác hơn và đơn giản hơn. Tính năng này cũng có sẵn trên nhiều nền tảng khác nhau. Tuy nhiên, việc sử dụng Vision có thể yêu cầu nhiều sức mạnh xử lý và thời gian xử lý hơn.

Để sử dụng Vision để phát hiện văn bản, bạn sẽ yêu cầu Xcode 9 và thiết bị chạy iOS 11.

Tạo máy ảnh với Avcapture

Đầu tiên, bạn cần tạo một máy ảnh với  AVCapture ; điều này là bằng cách khởi tạo một đối tượng AVcapturesession để thực hiện chụp ngoại tuyến hoặc thời gian thực. Sau đó, thực hiện phiên kết nối thiết bị.

Để giúp bạn tiết kiệm thời gian xây dựng giao diện người dùng cho ứng dụng của mình, hãy cân nhắc việc có một dự án mới bắt đầu, điều này sẽ giúp bạn có thời gian tập trung vào việc tìm hiểu khung Vision.

Mở dự án khởi động của bạn. Tất cả các chế độ xem trong bảng phân cảnh đã sẵn sàng và được thiết lập cho bạn.

Trên  ViewController.swift,  hãy tìm phần mã có các chức năng và cửa hàng.

Trong cửa sổ - ImageView, d eclare một phiên cho  AVcapturesession  - điều này được sử dụng bất cứ khi nào bạn muốn các hành động được thực hiện dựa trên một luồng trực tiếp.

Đặt  AVcapturesession  và  AVmediatype  thành video vì bạn sẽ thực hiện quay camera để cho phép nó chạy liên tục

Xác định thiết bị đầu ra và đầu vào

Đầu vào là những gì máy ảnh sẽ nhìn thấy và đầu ra là video ở định dạng loại đã đặt là KCVPixelFormatType_32GRA.

Cuối cùng, thêm một  lớp con  chứa video vào  imageView  và bắt đầu phiên. Chức năng này được gọi là  inViewdidload.  Bạn cũng cần thiết lập khung của lớp.

Gọi hàm trong   phương thức viewWillAppear .

Vì các giới hạn chưa được hoàn thiện, hãy ghi đè  phương thức viewDidLayoutSubviews ()  để cập nhật các lớp được liên kết.

Sau khi phát hành iOS 10, cần có một mục bổ sung trong Info.plist, điều này cung cấp lý do cho việc sử dụng máy ảnh. Bạn cũng nên đặt Quyền riêng tư-Mô tả sử dụng máy ảnh.

Phát hiện văn bản; Cách thức hoạt động của khung tầm nhìn

Có ba bước để triển khai Vision trên ứng dụng.

Trình xử lý -  đây là khi bạn muốn khung làm việc gì đó sau khi yêu cầu được gọi.

Quan sát -  đây là những gì bạn muốn làm với dữ liệu do bạn cung cấp bắt đầu bằng một yêu cầu

Yêu cầu -  đây là khi bạn yêu cầu khung Phát hiện

Lý tưởng nhất là bạn tạo một yêu cầu văn bản dưới dạng  VNdetecttextrectariesrequest . Đây là một loại  VNrequest  bao quanh văn bản. Sau khi framework hoàn thành ứng dụng, bạn tiến hành gọi   hàm Dettexthandler . Bạn cũng sẽ muốn biết chính xác khung đã được nhận dạng, hãy đặt nó thành  Reportcharacterboxes = True.

Sau đó, xác định các quan sát chứa tất cả các kết quả của  VNdetecttextrectariesrequest , nhớ thêm Vision vào camera đầu ra. Vì Vision tiết lộ các API cấp cao, nên việc làm việc với nó là an toàn.

Hàm kiểm tra xem  Cmsamplebuffer  có tồn tại và PutOut  Avcaptureoutput hay không . Sau đó, bạn nên tiến hành tạo một Requestoptions  biến  dưới dạng 1 Dictionary Type  VNimageoption . Các  VNmage  tùy chọn là một loại cấu trúc có chứa các thuộc tính và dữ liệu từ máy ảnh. Sau đó, bạn nên tạo  VNimagerequesthandler  và thực hiện yêu cầu văn bản.

Vẽ đường viền xung quanh văn bản được phát hiện

Bạn có thể bắt đầu bằng cách có khung để vẽ hai hộp, một hộp cho mọi chữ cái mà nó phát hiện và hộp kia cho mọi từ. Bảng là sự kết hợp của tất cả các hộp ký tự mà bạn yêu cầu.

  • Xác định các điểm trên chế độ xem của bạn để giúp bạn định vị các hộp.
  • Sau đó, tạo một  CALaye r; sử dụng  VNrectangleobservation  để xác định các ràng buộc của bạn, giúp quá trình phác thảo hình hộp dễ dàng hơn.

Bây giờ bạn đã sắp xếp tất cả các chức năng của mình.

Để kết nối các dấu chấm của bạn, hãy bắt đầu bằng cách để mã của bạn chạy không đồng bộ. Sau đó, bạn nên kiểm tra xem liệu một khu vực có tồn tại trong kết quả của bạn từ VNTextObservation của bạn  hay không .

Bây giờ bạn có thể gọi hàm của mình, hàm này sẽ vẽ một hộp trong khu vực. Kiểm tra xem có các hộp ký tự trong khu vực hay không, sau đó gọi trong dịch vụ để đưa vào một hộp xung quanh mỗi chữ cái.

Sau đó, tạo một RequestOptions biến  Bây giờ bạn có thể tạo một  đối tượng VNImageRequestHandler  và thực hiện yêu cầu văn bản mà bạn đã tạo.

Cuối cùng, bước cuối cùng là chạy mã tầm nhìn của bạn với luồng trực tiếp. Bạn sẽ cần lấy đầu ra video và chuyển đổi nó sang  Cmsamplebuffer.

Mẹo bổ sung

Luôn cố gắng cắt hình ảnh và chỉ xử lý phần bạn cần. Điều này sẽ làm giảm thời gian xử lý và dung lượng bộ nhớ

Bật sửa ngôn ngữ khi xử lý các ký tự không phải số, sau đó tắt tính năng này khi xử lý một ký tự số

Bao gồm xác thực cho các chuỗi số được công nhận để xác nhận độ chính xác và loại bỏ việc hiển thị giá trị sai cho người dùng.

Bộ điều khiển máy ảnh tài liệu là người bạn đồng hành tốt nhất để nhận dạng văn bản vì chất lượng hình ảnh đóng một vai trò quan trọng trong nhận dạng văn bản.

Cân nhắc đặt chiều cao văn bản tối thiểu để tăng hiệu suất.

Với Vision, bạn có mọi thứ bạn cần để nhận dạng văn bản. Vì Vision dễ sử dụng và mất một thời gian ngắn để thực hiện nên việc sử dụng nó gần như tương đương với chơi với Legos. Hãy thử kiểm tra ứng dụng của bạn trên các đối tượng, phông chữ, ánh sáng và kích thước khác nhau. Bạn cũng có thể tự gây ấn tượng bằng cách kết hợp Vision với Core ML.



Leave a Comment

Cách chỉnh sửa và tùy chỉnh Chế độ chờ trong iOS 17 trên iPhone

Cách chỉnh sửa và tùy chỉnh Chế độ chờ trong iOS 17 trên iPhone

Tìm hiểu cách tùy chỉnh chế độ StandBy trên màn hình khóa của iPhone trong iOS 17. Dễ dàng chỉnh sửa và sắp xếp lại các thành phần để tạo trang tổng quan được cá nhân hóa.

Cách tăng kích thước văn bản trên bất kỳ trang web nào trên iPad

Cách tăng kích thước văn bản trên bất kỳ trang web nào trên iPad

Làm cho việc đọc dễ dàng hơn trên Safari và tăng kích thước; heres như thế nào.

Khắc phục: Dropbox không tìm thấy ảnh mới trên iPhone

Khắc phục: Dropbox không tìm thấy ảnh mới trên iPhone

Nếu Dropbox không thể tìm và tải ảnh mới lên từ iPhone của bạn, hãy đảm bảo rằng bạn đang chạy phiên bản ứng dụng iOS và Dropbox mới nhất.

Cách sử dụng Apple Pay

Cách sử dụng Apple Pay

Tìm hiểu cách sử dụng Apple pay từ iPhone hoặc thiết bị iOS khác của bạn với hướng dẫn từng bước này.

iPhone 6: Cài đặt hoặc tháo thẻ SIM

iPhone 6: Cài đặt hoặc tháo thẻ SIM

Các bước chi tiết về cách tháo thẻ SIM khỏi Apple iPhone 6.

iPhone / iPad: “Hạn chế” đã đi đến đâu?

iPhone / iPad: “Hạn chế” đã đi đến đâu?

Tùy chọn Restrictions đã đi đâu trên Apple iPhone và iPad sau khi cập nhật iOS 12?

Biểu tượng pin iPhone / iPad có màu vàng

Biểu tượng pin iPhone / iPad có màu vàng

Bạn đang thắc mắc tại sao biểu tượng pin trên Apple iPhone hoặc iPad của bạn lại chuyển sang màu vàng? Bài đăng này sẽ cung cấp cho bạn một số câu trả lời.

iPhone: Cách tắt VPN

iPhone: Cách tắt VPN

Định cấu hình VPN trên điện thoại của bạn là một cách tuyệt vời để đảm bảo rằng hoạt động duyệt web của bạn vẫn ở chế độ riêng tư với nhà cung cấp dữ liệu di động của bạn. Tuy nhiên, tại một số thời điểm,

iPhone: Cách ẩn số điện thoại / ID người gọi của bạn

iPhone: Cách ẩn số điện thoại / ID người gọi của bạn

Danh sách liên hệ trên điện thoại của bạn rất tốt trong việc cho bạn biết ai đang gọi cho bạn. Tuy nhiên, đôi khi bạn nhận được cuộc gọi từ một người nào đó có "Không có ID người gọi". Hầu hết

Làm thế nào để sao lưu iPhone vào iCloud

Làm thế nào để sao lưu iPhone vào iCloud

Bản sao lưu iCloud có thể giữ nguyên vẹn các tin nhắn tình cảm, ảnh, danh bạ và các ứng dụng nếu có bất kỳ điều gì xảy ra với iPhone của bạn. Theo mặc định, mọi người có