Sử dụng thư viện Vision của Swift để nhận diện văn bản trong hình ảnh.

Tram Ho

Hiện nay rất nhiều ứng dụng điện thoại cần sử dụng chức năng nhận diện hình ảnh.
Vision Framework là thư viện do chính Apple xây dựng, được giới thiệu đến với các developer tại WWDC 2017, với kỳ vọng sẽ giúp các lập trình viên xử lý vấn đề nhận diện hình ảnh đối với các thiết bị của Apple. Thư viện này cung cấp các giái pháp nhận diện văn bản, nhận diện khuôn mặt, xử lý barcode cho đến tích hợp với CoreML.
Hôm nay tôi sẽ giới thiệu cho bạn cách để nhận diện văn bản trong hình ảnh sử dụng thư viện Vision.

Đầu tiên bạn hãy tạo một project với Xcode, tạo một viewcontroller, import thư viện Vision

trong màn hình của của Viewcontroller đó bạn tạo 3 phần tử, một button, một Image View và 1 Text Field

Thêm outlet action cho button như sau

Bạn cần implement UIImagePickerControllerDelegate cho View Controller và thêm function sau :

Function trên sẽ bắt sự kiện user input hình ảnh đầu vào.
Trong đoạn code trên imageView sẽ dùng để hiện thị hình ảnh vừa được input và textView là Text Field chúng ta dùng để hiển thị đoạn text được detect trong hình ảnh đó.

Như bạn có thể thấy để có thể detect được text trong hình ảnh, bạn cần khởi tạo một đối tượng VNRecognizeTextRequest, định nghĩa completion handle cho Request. Như có thể thấy ở đoạn code, kết quả của việc detect sẽ được truy cập trong trường request.resullts.

Tiếp theo, bạn cần tạo một VNImageRequestHandle để thực hiện goị request đã được khởi tạo ở trên.

Rất đơn giản đúng không nào? Chúc bạn áp dụng công cụ này vào công việc thành công nhé.

)
do {
try handler.perform([textRecognitionRequest])
} catch {
print(error)
}
}

}

The above function will capture the user input event of the input image. In the code above imageView will be used to display the newly input image and textView is Text Field we use to display the detected text in that image.

As you can see in order to detect the text in the image, you need to initialize a VNRecognizeTextRequest object, which defines the completion handle for the Request. As can be seen in the code, the result of the detect will be accessed in the request.resullts field.

Next, you need to create a VNImageRequestHandle to make the above initialized request.

Very simple, right? Wish you apply this tool to your successful work.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo