Trích xuất văn bản từ một tài liệu được quét


10

Có cách nào để chọn văn bản từ một tài liệu được quét không? (đầu ra là một jpg) Ubuntu cung cấp loại công cụ nào để thực hiện một nhiệm vụ như vậy? Có thư viện nào tôi có thể sử dụng thay vì nhị phân phần mềm dựng sẵn để làm điều tương tự không? Tôi đã thử chuyển đổi nó thành .pdf bằng Imagemagick và sau đó thử chọn văn bản, điều này rõ ràng không hiệu quả.

Câu trả lời:


9

Tên của loại thủ tục này là OCR ( Nhận dạng ký tự quang học). Liên kết đó cũng cung cấp một vài lựa chọn:

Goc - Một dòng lệnh OCR
fuzzyoc - plugin spamassassin để kiểm tra tệp đính kèm hình ảnh
libhoc0 - OCR tiếng Do Thái
ocrad - Chương trình nhận dạng ký tự quang học
ocrfeeder - Phân tích bố cục tài liệu và hệ thống nhận dạng ký tự quang học
ocropus - phân tích tài liệu và hệ thống OCR
tesseract-ocr
chữ hình nêm - hệ thống OCR đa ngôn ngữ 

Và nó gợi ý rằng Tesseract ( hướng dẫn rất cũ ) là lựa chọn tốt hơn trong số này. Hãy thử một lần đi.


3

Cách đây một thời gian đã đánh giá các gói OCR khác nhau trong Ubuntu, thấy rằng Tesseract là loại kém nhất trong số chúng (nhưng đủ tệ) và đã viết một tập lệnh bao bọc cho OCRing (vì Tesseract muốn các định dạng đầu vào tối nghĩa như TIFF). Đây là ~/bin/ocr:

#!/bin/sh
# usage: ocr filename.jpg
if test -z "$1"; then
    echo "usage: ocr filename.jpg [...]"
    echo "needs imagemagick and tesseract-ocr"
    echo "if tesseract fails, check if you've got tesseract-ocr-eng installed"
fi
tmpdir="$(mktemp -d)"
for fn in "$@"; do
  convert "$fn" "$tmpdir/page.tif"
  tesseract "$tmpdir/page.tif" "$tmpdir/page" 2>&1 | grep -v '^Tesseract Open Source OCR Engine$'
  cat "$tmpdir/page.txt"
  cp -i "$tmpdir/page.txt" "${fn%.jpg}.txt"
  rm "$tmpdir/page.tif" "$tmpdir/page.txt"
done
rm -r "$tmpdir"

Tiền xử lý hình ảnh với GIMP (chuyển đổi sang B & W bằng công cụ Ngưỡng) dường như đã giúp ích rất nhiều.

Tôi hy vọng mọi thứ đã được cải thiện kể từ đó. Gần đây tôi đã thấy tên Bộ nạp OCR trong các bài đăng trên blog, tôi sẽ thử.


2

Gói Tesseract-ocr là dòng lệnh. Nếu bạn muốn một chương trình có GUI, tôi sử dụng "gscan2pdf" và bạn có thể tìm thấy nó trong Trung tâm phần mềm Ubuntu.

Trong gscan2pdf, tất cả những gì bạn cần làm là nhấp vào biểu tượng quét nhỏ ở gần đầu. Tôi nghĩ rằng nó cung cấp cho bạn hai hoặc ba tùy chọn, GOCR không tốt lắm và Tesseract hoạt động rất đáng ngưỡng mộ. Chọn Tesseract và từ thời điểm này, bạn cần nhấp vào tab thích hợp để bạn có thể tìm thấy cài đặt độ phân giải. Đặt cược tốt nhất của bạn là 300 hoặc thậm chí 600 và Tesseract sẽ làm tốt.

Các tài liệu cũ được quét kém, quanh co hoặc không chuyển đổi tốt. Chúc may mắn!

PS .. Tôi tiếp tục đọc rằng Tesseract chỉ có thể đọc hình ảnh TIFF. Đây không phải là trường hợp của tôi. Tôi cũng có thể nhập JPG hoặc PNG.

PPS ... xin lỗi vì các chỉnh sửa! Bạn cũng có thể thử OCRFeeder trong trung tâm phần mềm. Tôi vẫn chưa thử nó mặc dù.



0

Tôi có Linux Mint 17.2 x32 Cinnamon. Có lẽ các bước này cũng sẽ hoạt động trong Ubuntu 14.04 x32.

  1. Cài đặt Tesseract OCR sudo apt-get install -y tesseract-ocr tesseract-ocr-eng Bạn có thể thêm các ngôn ngữ khác bằng cách cài đặt các gói bổ sung. Ảnh chụp màn hình này là từ các gói ngôn ngữ synaptic: Tesseract trong Synaptic

Sử dụng Tesseract

TÙY CHỌN 1 - bằng thiết bị đầu cuối mở dòng lệnh, sau đó chuyển đến thư mục nơi Bạn giữ các tệp hình ảnh (jpg, png) và chạy lệnh:

a) để chuyển đổi tất cả các tập tin hình ảnh thành văn bản

for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" text; done

Để hợp nhất tất cả các tệp văn bản thành một, hãy chạy một lệnh cat *.txt >> all.txt

b) để chuyển đổi tất cả các tệp hình ảnh thành các tệp hoc (mở bằng Firefox)

for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" hocr; done

TÙY CHỌN 2 - bằng GUI

a) Cài đặt gImageReader và sử dụng nó

sudo add-apt-repository -y ppa:sandromani/gimagereader
sudo apt-get update
sudo apt-get install -y gimagereader

b) Ứng dụng thứ hai là VietOCR. Phiên bản thực tế là 4.0, vì vậy hãy tải xuống VietOCR-4.0.zip

Giải nén tệp và mở VietOCR.jar bằng Java:

Mở VietOCR bằng Java Nếu bạn chưa cài đặt Java, thì bạn có thể cài đặt nó từ kho lưu trữ hoặc Bạn có thể cài đặt Oracle Java chính thức 8. Các bước để cài đặt Oracle Java 8 trong Ubuntu 14.04

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

Tôi khuyên dùng VietOCR, vì nó cho phép bạn OCR tệp pdf, chuyển đổi hàng loạt cũng là một tùy chọn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.