我目前正在使用Windows 7,Python 3.6和 pytesseract 处理扫描的图像。这些图像包含文本和表格区域-看起来像这样:https://tex.stackexchange.com/questions/49300/wrap-text-around-a-tabular。
我想获取表格区域的坐标,以便将图像裁剪到该部分。显然,tesseract
定义了具有不同属性的区域( PolyBlockTypes 参见https://tesseract.patagames.com/help/html/T_Patagames_Ocr_Enums_PolyBlockType.htm)-但我不知道如何使用 pytesseract 获取该信息
有人可以帮助我吗?我想通过使用 pytesseract 或其他python函数来解决此问题。
编辑:我当前的方法是
pytesseract.image_to_data(image='< ... >', config='-c gapmap_debug=1')
配置gapmap_debug = 1似乎没有任何作用……至少我没有得到输出。我想念什么吗?可以在http://www.sk-spell.sk.cx/tesseract-ocr-parameters-in-302-version
中找到更多配置选项答案 0 :(得分:0)
尝试下面的代码,识别电话号码(可信度> 70),例如phone number img 从img数据保存到一个特殊文件夹
data = pytesseract.image_to_data(image, lang='eng', config='outputbase digits', output_type = pytesseract.Output.DICT)
text = data['text']
confidence = data['conf'][len(text)-1]
phone_number = data['text'][len(text)-1]
print(image.filename, " confidence" , confidence , " phone_number" , phone_number)
if confidence>=70 and len(phone_number.strip())> 10:
changeFileName = image.filename
newName = image.filename[0:len(image.filename)-5] + phone_number +".jpg";
newFileName = os.path.basename(newName)
image.save('./recognize/'+newFileName, 'JPEG')
os.remove(image.filename)
print( "old" + changeFileName +"\nnew"+ newName)