我正在使用python-tesseract从图像中提取单词。这是tesseract的python包装器,它是一个OCR代码。
我正在使用以下代码来获取单词:
import tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyz")
api.SetPageSegMode(tesseract.PSM_AUTO)
mImgFile = "test.jpg"
mBuffer=open(mImgFile,"rb").read()
result = tesseract.ProcessPagesBuffer(mBuffer,len(mBuffer),api)
print "result(ProcessPagesBuffer)=",result
这仅返回单词,而不返回它们在图像中的位置/大小/方向(或换句话说,包含它们的边界框)。我想知道是否还有办法
采用 pytesseract.image_to_data()
import pytesseract
from pytesseract import Output
import cv2
img = cv2.imread('image.jpg')
d = pytesseract.image_to_data(img, output_type=Output.DICT)
n_boxes = len(d['level'])
for i in range(n_boxes):
(x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow('img', img)
cv2.waitKey(0)
在返回的数据中pytesseract.image_to_data()
:
left
是从边界框的左上角到图像左边界的距离。top
是从边界框的左上角到图像顶部的距离。width
和height
是边框的宽度和高度。conf
是模型对该边界框内单词的预测的置信度。如果conf
为-1,则表示相应的边界框包含一个文本块,而不只是一个单词。pytesseract.image_to_boxes()
包围字母返回的包围盒,所以我相信这pytesseract.image_to_data()
是您想要的。
给定一个Geopandas GeoDataFrame,我想提取GeoDataFrame的总边界,由单元缓冲。 通过,我可以访问整个DataFrame中组合几何的非缓冲边界。我想到的一种方法是取这些边界,将它们转换为Shapely多边形,然后缓冲它。
使用正则表达式匹配表达式 为什么这两个示例匹配如下(突出显示): c# < code>a #b #c #d 具体来说,为什么第一个字符串不匹配包含最后一个#之前的所有内容? 由于单词边界(\b)是零宽度匹配,可以在单词字符(\w)和非单词字符(\ w)之间匹配,或者在单词字符和字符串的开始或结束之间匹配,我不确定以非单词字符结束表达式会如何影响匹配。
我正在尝试编写我的第一个Elasticsearch分析插件,我从github中找到了一个可扩展的标准Analyzer插件项目:Elasticsearch分析standardext,在该项目中它提供了以下代码: 这里是链接 我想知道如何获得这些单词边界的字符类。 我问有问题的作者:如何获得单词边界“字符类”?#2,但是作者似乎不会回答我的问题。 我尝试阅读Unicode文本分段文档:https://
词边界 \b 是一种检查,就像 ^ 和 $ 一样。 当正则表达式引擎(实现搜索正则表达式的程序模块)遇到 \b 时,它会检查字符串中的位置是否是词边界。 有三种不同的位置可作为词边界: 在字符串开头,如果第一个字符是单词字符 \w。 在字符串中的两个字符之间,其中一个是单词字符 \w,另一个不是。 在字符串末尾,如果最后一个字符是单词字符 \w。 例如,可以在 Hello, Java! 中找到匹配
本文向大家介绍python利用Tesseract识别验证码的方法示例,包括了python利用Tesseract识别验证码的方法示例的使用技巧和注意事项,需要的朋友参考一下 无论是是自动化登录还是爬虫,总绕不开验证码,这次就来谈谈python中光学识别验证码模块tesserocr和pytesseract。tesserocr和pytesseract是Python的一个OCR识别库,但其实是对tesse
问题内容: 我有一幅包含多个边界框的图像。 我需要提取其中包含边界框的所有内容。到目前为止,从这个站点我已经得到了这个答案: 它有效,但是只有一个。我应该如何修改代码?我尝试将其放在轮廓循环中,但它仍会喷出一个图像而不是多个图像。 提前非常感谢您。 问题答案: 你去那里: