当前位置: 首页 > 知识库问答 >
问题:

皮特塞拉克特和泰瑟罗尔有什么区别?

秦伯寅
2023-03-14

我在Windows 10中使用Python 3.6,并且已经安装了Pytesseract,但我在代码Tessercr中找到了一个代码,顺便说一下,我无法安装。有什么区别?

共有3个答案

牟慎之
2023-03-14

蛇只是蟒蛇的镶嵌奥克尔的绑定。因此,如果您想在python代码中使用镶嵌体-ocr,而不使用子进程os模块来运行命令行测绘-ocr命令,那么您可以使用彩绘。但是,为了使用它,您必须安装镶嵌

你可以这样想。您需要安装一个镶嵌式光学,因为它是实际运行并执行 OCR 的程序。但是,如果你想把它从python代码作为一个函数来运行,你可以安装pytesseract包,使你能够做到这一点。因此,当您运行pytesseract.image_to_string(图像打开(“测试欧洲.jpg”),lang='fra'))时,它会使用提供的参数调用镶嵌操作器。结果与运行镶嵌测试欧洲.jpg -l fra 相同。因此,您可以从代码中调用它,但最终,它仍然必须运行镶嵌操作器来执行实际的OCR。

邢雨华
2023-03-14

蟒蛇是泰瑟拉克特二进制的蟒蛇“包装器”。它仅提供以下功能,以及指定标志(手册页):

  • get_tesseract_version返回系统中安装的Tesseract版本。
  • image_to_string将Tesseract OCR在图像上运行的结果返回到字符串
  • image_to_boxes返回包含已识别字符及其框边界的结果
  • image_to_data返回包含框边界、机密和其他信息的结果。需要Tesseract 3.05。有关更多信息,请查看Tesseract TSV留档
  • image_to_osd返回包含方向和脚本检测信息的结果。

有关详细信息,请参阅项目描述。

另一方面,泰瑟罗CR直接与泰瑟拉克的C API(API示例)接口,后者更加灵活/复杂,并提供高级功能。

鲜于宏义
2023-03-14

根据我的经验,泰瑟罗克比皮特塞拉克特快得多。

Tesserocr是围绕Tesseract C API的python包装器。而pytesseract是tesseract-ocr CLI的包装器。

因此,使用Tesserocr,您可以在程序开始时加载模型,并单独运行模型(例如循环处理视频)。使用pytesseract,每次您调用< code>image_to_string函数时,它都会加载模型并处理图像,因此对于视频处理来说速度较慢。

要安装tesserocr,我只需在终端中键入<code>pip安装tesserecr</code>。

使用tesserocr

import tesserocr
from PIL import Image
api = tesserocr.PyTessBaseAPI()
pil_image = Image.open('sample.jpg')
api.SetImage(pil_image)
text = api.GetUTF8Text()

要安装pytesseract:pip,请安装pytesseract

要运行它:

import pytesseract
import cv2
image = cv2.imread('sample.jpg')
text = pytesseract.image_to_string(image)  
 类似资料:
  • 我写了一个mandelbrot集,我读过关于julia集的文章,它非常相似,但到底是什么关系呢?我能用mandelbrot公式画一个julia集吗?起始参数是什么?请阅读我的mandelbrot集合代码: 我不确定mandelbrot集对于z是迭代的,julia集对于c是迭代的,这意味着什么?我需要更改代码吗? 更新:我更改了代码,但它不起作用。我的想法是从$re和$im开始,而不是从0开始: 更

  • 我正在从事一个关于识别摩洛哥车牌的项目,看起来像这张图片: 摩洛哥车牌 请问我如何使用OpenCV来切割车牌,而Tesseract来读取中间的数字和阿拉伯字母。 我看了这篇研究论文:https://www.researchgate.net/publication/323808469_Moroccan_License_Plate_recognition_using_a_hybrid_method_a

  • 我试图识别车牌,但遇到错误,如错误/未读取字符 下面是每个步骤的可视化: 从颜色阈值化变形关闭获得蒙版 以绿色突出显示的车牌轮廓过滤器 将板轮廓粘贴到空白遮罩上 Tesseract OCR的预期结果 BP 1309 GD 但我得到的结果是 BP 1309 6D 我尝试将轮廓切片为3切片 是的,它是有效的,但是如果我将差异图像插入到这个方法中,一些图像就无法识别,例如这个 字母N无法识别,但如果使用

  • 目前,我正在Android应用程序中使用泰瑟拉克特 3 (armv7 这些是我目前为止尝试过的事情: compiling_on_terminal_or_androidStudio compiling_using_docker 这些方法的问题: issue_with_terminal_approach issue_with_docker_approach

  • 经过大量谷歌搜索,我发现大多数消息来源说迪克斯特拉算法比贝尔曼-福特算法“更有效”。但是在什么情况下Bellman-Ford算法比Dijkstra算法更好呢? 我知道“更好”是一个宽泛的说法,所以具体来说,我指的是速度和空间,如果适用的话。当然,在某些情况下,贝尔曼-福特方法比迪克斯特拉方法更好。

  • 我正试图使用Kryo库来执行对象的深度复制,但我遇到了一个小问题。我想深度复制一个没有瞬态变量的对象。我知道可以将用于,如下所示: 但是我必须为每个类设置一个新的。我可以从Kryo获得一个默认的,并在那里设置吗?我尝试了类似的解决方案,但它什么也做不到: