青蛙

青蛙

如何从图像中提取文本?

我说的不是扫描文件,而是各种各样的图像,比如当你在课堂上拍摄一张黑板的高清照片时,上面有漂亮的手写字;或者当你拍摄一本食谱书的一页并想要文本格式的食谱时。

有任何免费且开放的软件吗?

我尝试了 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 repo 上有 123 种语言。然后使用例如:

tesseract mySpanishText.jpg output -l spa

答案2

从图像中提取文本的操作称为OCR,Ubuntu 有一个专门用于光学字符识别 (OCR). 从该页面:

可用的 OCR 工具

Ubuntu Universe 存储库包含以下 OCR 工具:

  1. 戈克- 命令行 OCR
  2. 模糊的- spamassassin 插件用于检查图像附件
  3. libhocr0- 希伯来语OCR
  4. 奥克拉德- 光学字符识别程序
  5. 供料器- 文档布局分析和光学字符识别系统
  6. 章鱼- 文档分析和OCR系统
  7. tesseract-ocr

Ubuntu Multiverse 存储库还包含:

  1. 楔形文字- 多语言OCR系统

有些软件包已经过时了,但非官方的新鲜软件包可以在Alex_P PPA(PPA 添加代码:ppa:alex-p/notesalexp)。如果你从未使用过 PPA 检查如何从 PPA 添加软件

编辑:如评论所示克拉拉OCR也存在,但它被 Hardy 卡住了,并且他们的网站最后更新于 2009 年。

答案3

青蛙

尝试青蛙.Frog 是 GNOME 的一个直观的文本提取工具(OCR)。

截屏

从 Snap 商店获取在 Flathub 上下载

答案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()

相关内容