画像からテキストを抽出するにはどうすればよいですか?
ここで言っているのは、スキャンしたファイルではなく、教室の黒板を高解像度で撮影し、手書きできれいに書き込まれた画像や、レシピ本のページを写真に撮って、そのレシピをテキスト形式で欲しいときなど、ありふれた画像のことです。
そのための無料のオープンソフトウェアはありますか?
tesseract を試してみましたが、結果はひどいものでした。
答え1
tesseract-ocr
他のものと比べて素晴らしいものになるでしょう。インストールするには、以下のコマンドを実行してください。
sudo apt-get install tesseract-ocr
使用方法は でtesseract filename.jpg output.txt
、output.txt
ファイルが生成されます。
適切な言語を選択することを検討してください。その場合、tesseract-ocr-LANG
パッケージをインストールする必要がありますLANG
。ISO 639-2 言語コード現在、18.04 リポジトリには 123 の言語があります。次に例えば:
tesseract mySpanishText.jpg output -l spa
答え2
画像からテキストを抽出する行為は「テキスト抽出」と呼ばれOCR
、Ubuntuには専用のWikiページがあります。OCCRそのページから:
利用可能なOCRツール
Ubuntu Universe リポジトリには、次の OCR ツールが含まれています。
- ゴックル- コマンドラインOCR
- ファジー- 画像添付ファイルをチェックするspamassassinプラグイン
- libhocr0- ヘブライ語OCR
- オクラド- 光学文字認識プログラム
- ocrフィーダー- 文書レイアウト解析および光学文字認識システム
- オクロプス- 文書分析およびOCRシステム
- テッセラクトOCR
Ubuntu マルチバース リポジトリには次のものも含まれています:
- 楔形文字- 多言語OCRシステム
一部のパッケージは古くなっていますが、非公式の新しいパッケージは以下にあります。Alex_P PPA(PPA追加コード:ppa:alex-p/notesalexp)。PPAチェックを一度も使用したことがない場合はPPAからソフトウェアを追加する方法。
編集: コメントにある通りクララOCR存在しますが、Hardy でスタックしてしまい、同社の Web サイトの最終更新日は 2009 年となっています。
答え3
答え4
tesseract-ocr
抽出できる文章から画像。私はテストしましたgocr
が、うまく機能しませんでした。tesseract-ocr
インストール:
sudo apt-get install tesseract-ocr
Python
すべての画像ファイルを変換するプログラムpng現在のディレクトリ内の拡張子TXTファイル
#!/usr/bin/env python3.10
import os
import subprocess
def list_files(path):
files = []
for name in os.listdir(path):
if os.path.isfile(os.path.join(path, name)):
files.append(os.path.join(path, name))
return files
def convertImageToText(img_file):
#process = subprocess.Popen(['tesseract', img_file,
# ''.join(img_file.rsplit('.png', 1))])
os.system(f"tesseract {img_file} {''.join(img_file.rsplit('.png', 1))}")
def startOperation():
list_file = list_files(".")
print(list_file)
for img_file in list_file:
if img_file.lower().split(".")[-1] == "png":
convertImageToText(img_file)
startOperation()