Có lẽ bạn đã chụp ảnh văn bản chỉ vì bạn không muốn ghi chú hoặc vì gõ văn bản chậm hơn so với chụp ảnh văn bản đó. May mắn thay, OCR hiện đã có trên điện thoại thông minh, cho phép chúng tôi sao chép văn bản đã chụp trước đó mà không cần phải nhập lại. Nhận dạng ký tự quang học Python (OCR). Nó là gì?Tesseract, một công cụ OCR nguồn mở, có thể được sử dụng để nhận dạng và trích xuất văn bản từ các hình ảnh như tài liệu và ảnh được quét bằng công nghệ Python OCR Tesseract là một trong những công cụ OCR được sử dụng rộng rãi nhất và chúng tôi có thể triển khai công cụ này trong Python chỉ bằng một vài dòng mã. Một công cụ nhận dạng ký tự quang học cho các hệ điều hành khác nhau được gọi là Tesseract. Python sử dụng một vài dòng mã. Một trong những công cụ OCR phổ biến nhất được sử dụng là Tesseract. Tesseract là một công cụ nhận dạng ký tự quang học cho các hệ điều hành khác nhau. Show
Cài đặt Python OCRTesseract chạy trên các nền tảng Windows, macOS và Linux, đồng thời hỗ trợ hơn 100 ngôn ngữ và Unicode (UTF-8) Bài viết này sẽ bắt đầu với việc cài đặt Tesseract OCR và kiểm tra việc trích xuất văn bản từ hình ảnh Cài đặt thư viện Tesseract trên máy tính của bạn là điều đầu tiên bạn cần làm để sử dụng nó. Có thể dễ dàng cài đặt Tesseract OCR bằng cách sử dụng 4 để cài đặt Tesseract OCR. ________Đầu tiênHomebrew sẽ được người dùng macOS sử dụng để cài đặt Tesseract _10Vui lòng tham khảo Tesseract dành cho Windows. . Hãy bắt đầu bằng cách cài đặt pyTesseract
5 cách để viết thêm mã Pythonic. Thông tin bổ sung 5 cách để viết thêm mã Pythonic
Triển khai Python OCRHãy tiếp tục sử dụng Tesseract với Python sau khi cài đặt xong. Đầu tiên, chúng tôi nhập các phụ thuộc
Để minh họa cách thức hoạt động của Tesseract, tôi sẽ sử dụng một hình ảnh đơn giản Một hình ảnh ví dụ mà Tesseract có thể sử dụng để tạo văn bản. Hình ảnh. Fahmi NufikriBây giờ hãy tải bức ảnh này và biến nó thành văn bản _15Bây giờ, chúng ta hãy xem kết quả _16Và đây là kết quả kết quả của OCR trong Python. Ảnh chụp màn hình. Fahmi NufikriRất khó để tìm thấy những hình ảnh thực sự đơn giản trong thế giới thực, vì vậy tôi sẽ thêm nhiễu để kiểm tra hiệu suất của Tesseract. Kết quả thu được từ Tesseract đủ tốt cho những hình ảnh đơn giản. một ví dụ về một hình ảnh ồn ào. Hình ảnh. Fahmi NufikriChúng tôi sẽ tiến hành theo cách tương tự như trước đây _17Đây là kết quả Sau khi cố gắng trích xuất văn bản từ một hình ảnh ồn ào, không có gì xảy ra. Ảnh chụp màn hình. Fahmi NufikriKhông có gì xảy ra, điều đó có nghĩa là Tesseract không thể đọc các từ trong hình ảnh ồn ào Tiếp theo, tôi sẽ sử dụng thư viện OpenCV để thực hiện một số xử lý hình ảnh nhằm loại bỏ nhiễu khỏi hình ảnh. Tôi đang sử dụng ngưỡng, chuẩn hóa và làm mờ hình ảnh trong thử nghiệm này. xử lý ảnh để loại bỏ nhiễu trong ảnh. Ở đây tôi sẽ sử dụng thư viện OpenCV. Trong thử nghiệm này, tôi đang sử dụng chuẩn hóa, tạo ngưỡng và làm mờ hình ảnh.
Kết quả sẽ như sau Hình ảnh ví dụ đã được khử nhiễu để hiển thị văn bản. Hình ảnh. Fahmi NufikriBây giờ hình ảnh đã đủ rõ ràng, chúng tôi sẽ thử lại bằng quy trình tương tự và đây là kết quả Kết quả cho thấy văn bản đã được OCR nhận dạng. Ảnh chụp màn hình. Fahmi NufikriNhư bạn có thể thấy, kết quả phù hợp với mong đợi của chúng tôi Một video hướng dẫn giải thích các nguyên tắc cơ bản của việc sử dụng PyTesseract để trích xuất văn bản từ hình ảnh. Video. Kiến Thức Lập Trình11 IDE Python và Trình chỉnh sửa mã tốt nhất hiện có 11 IDE Python và Trình chỉnh sửa mã tốt nhất hiện có
Bản địa hóa và phát hiện văn bản OCR của PythonNgoài ra, có thể bản địa hóa văn bản và phát hiện hình ảnh với Tesseract. Chúng tôi sẽ bắt đầu bằng cách nhập các phụ thuộc mà chúng tôi yêu cầu _19Để minh họa cách thức hoạt động của Tesseract, tôi sẽ sử dụng một hình ảnh đơn giản tương tự như hình minh họa ở trên Hình ảnh ví dụ để xử lý OCR. Hình ảnh. Fahmi NufikriBây giờ hãy tải bức ảnh này và trích xuất thông tin ________mườiNgược lại với những gì chúng tôi đã làm trong ví dụ trước, nơi chúng tôi ngay lập tức chuyển đổi hình ảnh thành một chuỗi,Chúng tôi sẽ chuyển hình ảnh thành một từ điển trong ví dụ này. từ điển. 0Nội dung của từ điển được hiển thị trong các kết quả bên dưới 1Thay vào đó, chúng ta sẽ sử dụng bên trái, trên cùng, chiều rộng và chiều cao để vẽ một hộp giới hạn xung quanh văn bản cùng với chính văn bản đó mà không giải thích ý nghĩa của từng giá trị trong từ điển. Ngoài ra, cần có khóa 5 để xác định ranh giới của văn bản được phát hiện. Bây giờ, chúng tôi sẽ trích xuất tọa độ hộp giới hạn của vùng văn bản từ kết quả hiện tại và chúng tôi sẽ chỉ định mức độ tin cậy mong muốn. Tôi sẽ sử dụng giá trị 5 = 70. Mã sẽ trông như thế này. 2Bây giờ mọi thứ đã sẵn sàng, chúng ta có thể sử dụng mã này để hiển thị kết quả 3Và đây là kết quả kết quả với tọa độ hộp tập trung vào văn bản. Hình ảnh. Fahmi NufikriCuối cùng nhưng không kém phần quan trọng, Tesseract phù hợp nhất để thiết kế quy trình xử lý tài liệu nơi hình ảnh được quét và xử lý, nơi văn bản nền trước được phân đoạn gọn gàng từ nền Có một số tham số bạn có thể thay đổi để bản địa hóa và phát hiện văn bản, chẳng hạn như giới hạn giá trị tự tin hoặc nếu không thích, bạn có thể thay đổi độ dày hoặc màu của hộp giới hạn hoặc văn bản , chẳng hạn như tài liệu và ảnh được quét. Có lẽ bạn đã chụp ảnh văn bản chỉ vì bạn không muốn ghi chú hoặc vì chụp ảnh nhanh hơn gõ văn bản. May mắn thay, nhờ có điện thoại thông minh ngày nay, chúng ta có thể áp dụng OCR để có thể sao chép ảnh văn bản đã chụp trước đó mà không cần phải gõ lại. Nhận dạng ký tự quang học Python (OCR) là gì?Python OCR là công nghệ nhận dạng và trích xuất văn bản trong hình ảnh như tài liệu và ảnh được quét bằng Python. Nó có thể được hoàn thành bằng cách sử dụng công cụ OCR mã nguồn mở Tesseract Chúng tôi có thể thực hiện việc này trong Python bằng cách sử dụng một vài dòng mã. Một trong những công cụ OCR phổ biến nhất được sử dụng là Tesseract. Tesseract là một công cụ nhận dạng ký tự quang học cho các hệ điều hành khác nhau.
Cài đặt Python OCRTesseract chạy trên nền tảng Windows, macOS và Linux. Nó hỗ trợ Unicode (UTF-8) và hơn 100 ngôn ngữ. Trong bài viết này, chúng ta sẽ bắt đầu với quá trình cài đặt Tesseract OCR, và thử nghiệm trích xuất văn bản trong hình ảnh Bước đầu tiên là cài đặt Tesseract. Để sử dụng thư viện Tesseract, chúng ta cần cài đặt nó trên hệ thống của mình. Nếu đang sử dụng Ubuntu, bạn chỉ cần sử dụng 4 để cài đặt Tesseract OCR. 4Đối với người dùng macOS, chúng tôi sẽ sử dụng Homebrew để cài đặt Tesseract
Đối với Windows, vui lòng xem Tesseract . Hãy bắt đầu bằng cách cài đặt pyTesseract
Thông tin thêm về Python. 5 cách để viết thêm mã Pythonic
Triển khai Python OCRSau khi cài đặt hoàn tất, hãy tiếp tục bằng cách áp dụng Tesseract với Python. Đầu tiên, chúng tôi nhập các phụ thuộc
Tôi sẽ sử dụng một hình ảnh đơn giản để kiểm tra việc sử dụng khối Tesseract Một hình ảnh mẫu để Tesseract chuyển đổi thành văn bản. . Hình ảnh. Fahmi NufikriHãy tải hình ảnh này và chuyển đổi nó thành văn bản 8Bây giờ, hãy xem kết quả 9Và đây là kết quả Kết quả sau khi chạy OCR trong Python. . Ảnh chụp màn hình. Fahmi NufikriKết quả thu được từ Tesseract đủ tốt cho những hình ảnh đơn giản. Tuy nhiên, trong thế giới thực, rất khó để tìm thấy những hình ảnh thực sự đơn giản, vì vậy tôi sẽ thêm nhiễu để kiểm tra hiệu suất của Tesseract. Ảnh mẫu có nhiễu. . Hình ảnh. Fahmi NufikriChúng tôi sẽ thực hiện quy trình tương tự như trước đây 0Đây là kết quả Không có kết quả sau khi cố kéo văn bản từ hình ảnh bị nhiễu. . Ảnh chụp màn hình. Fahmi NufikriKết quả là, không có gì. Điều này có nghĩa là tesseract không thể đọc các từ trong hình ảnh bị nhiễu Tiếp theo, chúng ta sẽ cố gắng sử dụng một chút xử lý hình ảnh để loại bỏ nhiễu trong hình ảnh. Ở đây tôi sẽ sử dụng thư viện OpenCV. Trong thử nghiệm này, tôi đang sử dụng chuẩn hóa, tạo ngưỡng và làm mờ hình ảnh.
Kết quả sẽ như thế này Hình ảnh mẫu được làm sạch nhiễu để hiển thị văn bản. . Hình ảnh. Fahmi NufikriBây giờ hình ảnh đã đủ sạch, chúng tôi sẽ thử lại với quy trình tương tự như trước. Và đây là kết quả Kết quả tiết lộ rằng OCR đã chọn văn bản. . Ảnh chụp màn hình. Fahmi NufikriNhư bạn có thể thấy, kết quả phù hợp với những gì chúng tôi mong đợi Video giới thiệu cơ bản về cách sử dụng PyTesseract để trích xuất văn bản từ hình ảnh. . Video. Kiến Thức Lập TrìnhThông tin thêm về Python. 11 Trình chỉnh sửa mã và IDE Python tốt nhất hiện có
Bản địa hóa và phát hiện văn bản trong Python OCRVới Tesseract, chúng tôi cũng có thể thực hiện bản địa hóa và phát hiện văn bản từ hình ảnh. Trước tiên chúng tôi sẽ nhập các phụ thuộc mà chúng tôi cần 2Tôi sẽ sử dụng một hình ảnh đơn giản như ví dụ trên để kiểm tra việc sử dụng khối Tesseract Hình ảnh mẫu để chạy trong OCR. . Hình ảnh. Fahmi NufikriBây giờ, hãy tải hình ảnh này và trích xuất dữ liệu 3Điều này khác với những gì chúng ta đã làm trong ví dụ trước. Trong ví dụ trước, chúng tôi đã ngay lập tức thay đổi hình ảnh thành một chuỗi. Trong ví dụ này, chúng tôi sẽ chuyển đổi hình ảnh thành một từ điển. 0Các kết quả sau đây là nội dung của từ điển 1Tôi sẽ không giải thích mục đích của từng giá trị trong từ điển. Thay vào đó, chúng tôi sẽ sử dụng bên trái, trên cùng, chiều rộng và chiều cao để vẽ một hộp giới hạn xung quanh văn bản cùng với chính văn bản đó. Ngoài ra, chúng tôi sẽ cần một khóa 5 để xác định ranh giới của văn bản được phát hiện. Bây giờ, chúng tôi sẽ trích xuất tọa độ hộp giới hạn của vùng văn bản từ kết quả hiện tại và chúng tôi sẽ chỉ định giá trị độ tin cậy mà chúng tôi muốn. Ở đây, tôi sẽ sử dụng giá trị 5 = 70. Mã sẽ trông như thế này. 2Bây giờ mọi thứ đã được thiết lập, chúng ta có thể hiển thị kết quả bằng mã này 3Và đây là kết quả Kết quả với tọa độ hộp xung quanh văn bản. . Hình ảnh. Fahmi NufikriCuối cùng, Tesseract phù hợp nhất khi xây dựng quy trình xử lý tài liệu nơi hình ảnh được quét và xử lý. Điều này hoạt động tốt nhất cho các tình huống có đầu vào có độ phân giải cao, trong đó văn bản nền trước được phân đoạn gọn gàng từ nền Đối với bản địa hóa và phát hiện văn bản, bạn có thể thay đổi một số tham số, chẳng hạn như giới hạn giá trị tin cậy. Hoặc nếu thấy chưa ưng ý, bạn có thể thay đổi độ đậm nhạt, màu sắc của khung viền hoặc chữ
|