使用pytess查找表区域

2024-10-01 09:31:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用windows7、python3.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找到


Tags: httpsdebug图像image文本com区域tex
1条回答
网友
1楼 · 发布于 2024-10-01 09:31:13

尝试下面的代码,从img数据中识别电话号码(confidence>;70),例如phone number 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)

相关问题 更多 >