使用python进行Pytesseract外语提取

2023-11-23

我在 Windows 机器上使用 Python 2.7、Pytesseract-0.1.7 和 Tesseract-ocr 3.05.01。

我尝试提取韩语和俄语的文本,并且我确信我提取了。

现在我需要将字符串与从图像中提取的字符串进行比较。

我无法比较字符串并获得正确的结果,它只是说不匹配。

这是我的代码:

# -*- coding: utf-8 -*-
from PIL import Image
import pytesseract
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input", required=True, help="path to the image")
args = vars(ap.parse_args())
img = Image.open(args["input"])
img.load()
text = pytesseract.image_to_string(img)
print(text)
text = text.encode('ascii')
print(text)
i = 'Сред. Скорость'
print i
if ( text == i):
    print "Match"
else :
    print "Not Match"

附有用于提取文本的图像。

现在我需要一种方法来匹配它。我还需要知道从 pytesseract 中提取的字符串将采用 Unicode 还是什么?是否有办法将其转换为 Unicode(就像我们在写字板中可以选择将字符转换为 Unicode)

Russian text image


您正在使用英语以外的语言使用 Tesseract,因此首先请确保您安装了适合您的语言的学习数据集,如图所示here(仅限 Linux 指令)。

其次,如果您使用非 ascii 语言(就像我一样,作为一个斯洛文尼亚人),我强烈建议您切换到 Python 3。 Python 3 可以开箱即用地使用 Unicode,因此它确实为您节省了编码和解码字符串的大量痛苦......

# python3 obligatory !!!    
from PIL import Image
import pytesseract

img = Image.open("T9esw.png")
img.load()
text = pytesseract.image_to_string(img, lang="rus")  #Specify language to look after!
print(text)
i = 'Сред. Скорость'
print(i)
if (text == i):
    print("Match")
else :
    print("Not Match")

哪个输出:

Фред скорасть
Сред. Скорость
Not Match

这意味着单词不太匹配,但考虑到最少的编码工作和输入图像的糟糕质量,它认为性能相当惊人。无论如何,这个例子表明编码和解码应该不再是问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用python进行Pytesseract外语提取 的相关文章

  • 并行 dask for 循环比常规循环慢?

    如果我尝试使用 dask 并行化 for 循环 它最终会比常规版本执行得慢 基本上 我只是按照 dask 教程中的介绍性示例进行操作 但由于某种原因它在我这边失败了 我究竟做错了什么 In 1 import numpy as np from
  • python sys.path 故障排除

    python 文档位于http docs python org library sys html http docs python org library sys html比如说sys path is 从环境变量 PYTHONPATH 以及
  • 获取 .wav 文件长度或持续时间

    我正在寻找一种方法来找出 python 中音频文件 wav 的持续时间 到目前为止我已经了解了 pythonwave图书馆 mutagen pymedia pymad我无法获取 wav 文件的持续时间 Pymad给了我持续时间 但它不一致
  • Virtualenv 在 OS X Yosemite 上失败并出现 OSError

    我最近更新到 OSX Yosemite 现在无法使用virtualenv pip 每当我执行 virtualenv env 它抛出一个 OSError Command Users administrator ux env bin pytho
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 在Python中从大文件中搜索单词列表

    我是新蟒蛇 我有一个单词列表和一个非常大的文件 我想删除文件中包含单词列表中的单词的行 单词列表按排序给出 并且可以在初始化期间输入 我正在努力寻找解决这个问题的最佳方法 我现在正在进行线性搜索 这花费了太多时间 有什么建议么 您可以使用i
  • 使用 Django 将文件异步上传到 Amazon S3

    我使用此文件存储引擎在上传文件时将文件存储到 Amazon S3 http code welldev org django storages wiki Home http code welldev org django storages w
  • 使用 Paramiko 进行 DSA 密钥转发?

    我正在使用 Paramiko 在远程服务器上执行 bash 脚本 在其中一些脚本中 存在与其他服务器的 ssh 连接 如果我只使用 bash 不使用 Python 我的 DSA 密钥将被第一个远程服务器上的 bash 脚本转发并使用 以连接
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • AttributeError:“模块”对象没有属性[重复]

    这个问题在这里已经有答案了 我有两个 python 模块 a py import b def hello print hello print a py print hello print b hi b py import a def hi
  • 根据其他单元格值更改多个单元格值

    我想更改包含的单元格moving to movingToOpenor movingToClose基于下一个单元格中给出的状态 有时循环会被中断并且不会从open to close or close to open 这是我当前的数据框 Dat
  • Plotly:如何检查基本图形结构(版本 4)

    对于旧版本的plotly 例如在 Jupyterlab 中 您可以简单地运行figure像这样检查你的图形的基础知识 Ouput data marker color red size 10 symbol 104 mode markers l
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 使用另一个数据帧在数据帧中创建子列

    我对 python 和 pandas 很陌生 在这里 我有一个以下数据框 did features offset word JAPE feature manual feature 0 200 0 aa 200 200 0 200 11 bf
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发

随机推荐

  • 如果您递增一个等于 STL 容器的结束迭代器的迭代器,会发生什么

    如果当迭代器指向向量的最后一个元素时将其增加 2 会怎样 在这个问题询问如何通过 2 个元素将迭代器调整为 STL 容器 提供了两种不同的方法 使用算术运算符 2 或 两次 或使用 std advance 我已经使用 VC 7 对它们进行了
  • Android 应用程序锁定相机

    是否可以获取当前在 Android 设备上锁定相机的应用程序 进程的 Android 应用程序 进程 ID 或包名称或其他 使用以下命令很容易查看它是否已锁定Camera open 但我想找出有它的过程 Thanks CameraServi
  • 如何解决 sqlite 和 c# 中的“'”问题?

    我正在使用 Sqlite 使用 Microsoft Visual C 2008 Express 我知道我的文本中的撇号 在查询中存在问题 我的问题是我认为我可以用 替换它 它似乎不起作用 这是我的代码的简化示例 string myStrin
  • 如何安全地访问 Django 模型中的请求对象

    我正在尝试做的事情 我正在尝试访问我的 django 模型中的请求对象 以便我可以使用以下命令获取当前登录的用户request user 我尝试过的 我发现了一个黑客this地点 但评论中有人指出在生产时不要这样做 我还尝试覆盖模型的 in
  • 计算预测值时发出警告

    使用数据框 x Date Val 1 1 2012 7 2 1 2012 9 3 1 2012 20 4 1 2012 24 5 1 2012 50 a lt seq as Date tail x 1 Date by month lengt
  • 序列化 Jackson JSON 树模型时排除 NullNode

    我有一个 pojo 类型 在序列化时需要将特定数值设置为特殊字符串 这些值将始终为空 可能非常深入层次结构 为了实现这一点 我首先将 pojo 转换为带有完整 null 的 JsonNode 以保留属性顺序 然后我沿着结构中的路径设置一些字
  • 验证动态添加的控件

    如何将动态添加的控件添加到验证中 div class editor field Html EditorFor model gt model Middlename div div div
  • 从 Chrome 控制台使用 Tampermonkey API?

    有什么办法使用篡改猴的 API在 Chrome 的 JavaScript 控制台中 我想搞乱像这样的功能GM xmlhttpRequest and GM listValues 创建以下脚本 UserScript name Exports s
  • Polymer:手动提交表单

    在聚合物中 我正在尝试手动提交表单 我的表格如下所示
  • 获取两个多边形相交区域的坐标(Python)

    假设我有两个多边形 它们的名称和坐标是 在 Python 中 p 1 1 2 2 4 2 3 1 q 1 5 2 3 5 5 4 3 5 1 在我们人脑中 很容易知道这两个多边形相交并计算相交区域坐标 但我想让我们的机器知道如何计算相交区域
  • 在 Unity 中显示实时摄像头源

    我有一个关于 Unity 的问题 我希望这个问题之前没有得到回答 我想将相机 如高清摄像头 连接到我的计算机 并且视频源应显示在我的 Unity 场景中 可以将其想象为虚拟电视屏幕 实时显示摄像机所看到的内容 我怎样才能做到这一点 谷歌没有
  • Facebook XMPP 聊天 API 发送消息 PHP

    我目前正在研究 Facebook Chat API 我想通过应用程序向我的 Facebook 联系人发送聊天消息 使用 facebook 提供的示例 我能够连接到 facebook 聊天服务器 但这更多的是一种反复试验的事情 我只能模糊地理
  • 在 c# 类型上切换大小写[重复]

    这个问题在这里已经有答案了 可能的重复 C 是否有比 打开类型 更好的替代方案 你好 假设我在类类型上有一个很大的 if else 有没有办法用开关盒来做到这一点 例子 function test object obj if obj is
  • 是否可以在 Android API < 24 上使用 Java 8 Stream API?

    我读过这个post这里 但我仍然无法在 minSdkVersion List
  • 如何在字符串中使用函数?

    a href 1 class bbc link new win target blank 我想使用urlencode 功能 a href urlencode 1 class bbc link new win target blank 但我不
  • 我可以在同一进程中使用同一 DLL 的两个不兼容版本吗?

    我使用的是同一供应商生产的两个商业库 称为 VendorLibA 和 VendorLibB 这些库根据编译器版本 例如 VC7 VC8 分布为多个 DLL 这两个库都依赖于该供应商生成的另一个库 称为 VendorLibUtils 并包含在
  • python,Windows 10:在特定的虚拟桌面环境(工作空间)上启动应用程序

    我有 3 个不同的 Windows 10 虚拟桌面 当计算机启动时 我希望 python 加载不同虚拟桌面中的所有应用程序 现在我只能在桌面 1 中启动 我如何告诉 python 在桌面 2 和 3 中启动应用程序 我正在使用Python
  • 实现jqgrid单元格编辑日期选择器

    我知道由于引用 可以使用日期选择器进行单元格编辑here and here 但是 当我单击单元格时 没有显示日期选择器 下面是相关列的 colModel 条目 我有可用的日期选择器用户界面 在其他示例中 dataInit 没有用引号引起来
  • Xcode 6 - 将 segue 推送到同一视图控制器

    我有一个表视图控制器 点击单元格可以根据单元格中的数据类型触发许多不同类型的推送序列之一 正确segue的标识符在tableView didSelectRowAtIndexPath 中确定 然后使用self performSegueWith
  • 使用python进行Pytesseract外语提取

    我在 Windows 机器上使用 Python 2 7 Pytesseract 0 1 7 和 Tesseract ocr 3 05 01 我尝试提取韩语和俄语的文本 并且我确信我提取了 现在我需要将字符串与从图像中提取的字符串进行比较 我