Python có thể đọc văn bản từ hình ảnh không?

Trong bài viết này, tôi sẽ chỉ cho bạn một cách tuyệt vời để sao chép văn bản từ hình ảnh bằng một dòng mã python. Là một con người, bạn có khả năng đọc văn bản từ hình ảnh một cách nhanh chóng sau khi bạn biết cách đọc. Đối với máy tính, quy trình này khác và may mắn thay, có các thư viện python miễn phí cho phép chúng tôi cung cấp cho máy tính của mình khả năng này

Ảnh của Tom S trên Bapt

Một thư viện như vậy là OpenCV, một thư viện python học máy mã nguồn mở. Nó được xây dựng với mục đích cung cấp một cơ sở hạ tầng chung cho thị giác máy tính và tương đối dễ cài đặt

Ngoài ra, Tesseract là phần mềm nhận dạng ký tự quang học hoạt động với OpenCV để diễn giải hình ảnh chứa văn bản

Các ứng dụng của khái niệm này rất phong phú, với các ứng dụng từ việc đọc các tệp phức tạp, đến ghi chú nhanh các thông tin hoặc dữ liệu không thể sao chép [SGK. ]

Đủ với những thứ nhàm chán - hãy bắt đầu viết mã

OpenCV

Thư viện này sẽ được sử dụng để tải hình ảnh. Bạn thực sự không cần biết nó hoạt động như thế nào và rất may là rất dễ cài đặt

Theo tài liệu chính thức

“OpenCV [Open Source Computer Vision Library] là một thư viện phần mềm thị giác máy tính và máy học mã nguồn mở. OpenCV được xây dựng để cung cấp cơ sở hạ tầng chung cho các ứng dụng thị giác máy tính và để đẩy nhanh việc sử dụng nhận thức máy móc trong các sản phẩm thương mại. [1]”

Tóm lại, bạn có thể sử dụng OpenCV để thực hiện bất kỳ loại chuyển đổi hình ảnh nào

Nếu bạn chưa cài đặt nó — đó là mã một dòng đơn giản trong cửa sổ cmd [hoặc thiết bị đầu cuối trên máy Mac]

pip install opencv-python

Và đó là tất cả cho OpenCV. Thật không may, Pytesseract phức tạp hơn một chút để thiết lập và chạy nhưng chúng ta sẽ tìm hiểu ngay về nó

PyTesseract

Theo Wikipedia, Tesseract là

“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. Đây là phần mềm miễn phí, được phát hành theo Giấy phép Apache, Phiên bản 2. 0 và sự phát triển đã được tài trợ bởi Google từ năm 2006. [2]”

Chắc chắn có các tùy chọn khác về thư viện nhận dạng ký tự như pyocr, nhưng tesseract dường như là một tùy chọn hiệu quả và phù hợp với các thử nghiệm mà tôi đã chạy với nó cho đến nay

Với hệ điều hành Linux, quá trình này rất đơn giản và có thể được thực hiện bằng một vài lệnh sudo-apt-get

sudo apt-get update
sudo apt-get install tesseract-ocr
sudo apt-get install libtesseract-dev

Tôi đang dùng windows nên quá trình này phức tạp hơn một chút

Trước tiên hãy truy cập LIÊN KẾT NÀY và tải xuống trình cài đặt 32-bit hoặc 64-bit

Bản thân việc cài đặt nó rất đơn giản. Bạn chỉ cần nhấp vào tiếp theo khi trình cài đặt bật lên cho đến khi bạn nhận được thông báo “Cài đặt của bạn đã hoàn tất”

Là nó? . Chúng tôi vẫn cần thực hiện một vài lượt cài đặt pip

pip install pytesseract 
pip install tesseract

Bạn sẽ cần cài đặt từng gói sau trên thiết bị của mình

  • OpenCV
  • Pytesseract
  • Teseract

Ngoài ra, chúng ta sẽ cần báo cho python đường dẫn đến Tesseract. Theo mặc định, nó được cài đặt trong tệp chương trình và có thể được gọi trong tệp python của bạn như sau

pytesseract.pytesseract.tesseract_cmd=r'C:\Program Files\Tesseract-OCR\tesseract.exe'

Bạn sẽ có thể chạy đoạn mã sau trong python mà không gặp bất kỳ lỗi nào

Nó có hoạt động không?

Đọc văn bản

Chúng ta sẽ bắt đầu với một cái đơn giản. Đây là một hình ảnh miễn phí bản quyền có chứa văn bản. “Tin mới nhất” — hãy xem liệu chương trình của chúng tôi có nhận được tin đó không

https. //tải lên. wikimedia. org/wikipedia/commons/thumb/b/bc/Wikinews_Breaking_News. png/800px-Wikinews_Breaking_News. png

Nó có thể là một điều dễ dàng, nhưng như bạn sẽ thấy trong khi chơi xung quanh với các hình ảnh - luôn có khả năng chương trình của chúng ta diễn giải các đối tượng trong hình ảnh thành các ký tự sai. Những vấn đề này có thể được giải quyết bằng cách thay đổi các bộ lọc trong OpenCV

Hãy xem điều gì sẽ xảy ra khi chúng ta chạy đoạn mã sau [với hình ảnh trên được lưu dưới dạng bns. png trong cùng thư mục với tập lệnh python của tôi]

Đầu ra

Yêu cầu của tôi là đúng, nó nhận ra dấu ngoặc đơn và bao gồm chúng dưới dạng văn bản trong đầu ra. Tuy nhiên, điều này có thể có vấn đề - nếu chúng tôi đang cạo văn bản mà chúng tôi không muốn có thêm ký tự. Nó có thể được giải quyết bằng một số công việc python đơn giản. ]

Bài kiểm tra cuối cùng, nó có thể sao chép các từ trong sách giáo khoa không?

Hình ảnh bên dưới là hình ảnh từ một bài viết của ProRepublica được cấp phép theo Creative Commons. Với nhiều sách giáo khoa cấm thao tác với khay nhớ tạm, khiến việc sao chép văn bản trở nên khó khăn, hình ảnh này là tài liệu tham khảo về cách bạn có thể chụp ảnh màn hình của một trang và yêu cầu chương trình của chúng tôi xuất văn bản có thể sao chép

https. //www. tuyên truyền. org/article/solarwinds-cybersecurity-system

Đầu ra

Đây là một tập hợp văn bản khả thi mà chúng ta có thể dễ dàng dán vào dàn bài — trong trường hợp nguồn gốc của thông tin này không cho phép bạn sao chép văn bản

Có vẻ như nó hoạt động tuyệt vời. Bây giờ tùy thuộc vào bạn để áp dụng điều này cho các vấn đề của riêng bạn

Cảm ơn vì đã đọc, và như mọi khi, chúc bạn viết mã vui vẻ

Hãy theo dõi tôi khi tôi chia sẻ những gì tôi học được — và triển khai chương trình này vào môi trường web

Jordan Steinberg - Trung bình

Trong bài viết này, tôi sẽ sử dụng API tài chính mới của yahoo để viết một chương trình truy xuất thị trường chứng khoán trực tiếp…

trung bình. com

Vỗ tay luôn được đánh giá cao

nguồn

[1] https. //opencv. tổ chức/về/

[2] https. // vi. wikipedia. org/wiki/Tesseract_[phần mềm]

[3]https. //www. tuyên truyền. org/article/solarwinds-cybersecurity-system

tham gia FAUN. Trang web 💻. Podcast 🎙️. Twitter 🐦. Facebook 👥. Instagram 📷. Nhóm Facebook 🗣️. Nhóm Linkedin 💬. Chùn 📱. Tin tức về Cloud Native 📰. Hơn

Nếu bài viết hữu ích, hãy bấm nút 👏 bên dưới vài lần để thể hiện sự ủng hộ của bạn dành cho tác giả 👇

Python có thể kéo văn bản từ một hình ảnh không?

Kỹ thuật OCR và OpenCV tiện dụng để tìm văn bản trong hình ảnh kỹ thuật số . Hình ảnh phải có văn bản bên trong nó để tìm văn bản đầu ra. Việc trích xuất văn bản bằng pytesseract cần cài đặt thư viện trong môi trường hệ thống. use python and pytesseract library to extract the text. The image should have text inside it to find the output text. The extraction of text with pytesseract needs a library to be installed in the system environment.

Làm cách nào để đọc văn bản từ một hình ảnh?

Đây là cách chuyển đổi hình ảnh thành tài liệu đọc văn bản. .
Mở ổ đĩa trang web. Google. com
Tải tệp lên Google Drive để bạn có thể chuyển đổi dễ dàng
Nhấp chuột phải vào tệp của bạn rồi nhấp vào "Mở bằng" > "Google Tài liệu"
Google Image Text Reader sẽ chuyển đổi tệp thành Google Docs và bạn có thể đọc nó

Python có thể phân tích hình ảnh không?

Các kỹ thuật đọc lướt [scikit-image] đơn giản của Python và có thể được sử dụng để giải quyết các vấn đề phân tích hình ảnh thực . Các vấn đề về hình học liên quan đến số lượng, hình dạng và/hoặc kích thước của các đối tượng trong một hình ảnh.

Chúng tôi có thể trích xuất văn bản từ hình ảnh không?

Trích xuất văn bản từ hình ảnh trên Android. Có nhiều ứng dụng dành cho Android cho phép bạn chuyển đổi hình ảnh thành văn bản . Không chỉ vậy, bạn còn có thể quét văn bản khi đang di chuyển vì tất cả điện thoại Android đều có camera tích hợp. Trình quét văn bản là ứng dụng Android OCR yêu thích của tôi vì nó cho phép bạn trích xuất văn bản từ hình ảnh ngoại tuyến.

Chủ Đề