来自 table 的 tesseract 读取值
tesseract reading values from a table
我的问题是 post 关于使用 OCR 从图像中的 table 提取数据。
我正在使用 tesseract
将 table 图片转换为文本。除了不保留 table 的格式外,这很好用。一种解决方案是用一些字母替换列 tesseract
会识别并欺骗它接受 table 就像一些文本一样。
这是一个 table 没有列
的例子
我用下面的代码绘制"QQ"
的列
im=Image.open("file.png")
draw = ImageDraw.Draw(im)
font=ImageFont.truetype("/usr/share/fonts/gnu-free/FreeSerifBold.ttf",12)
by = font.getsize("S")[1]
col = [240,480]
px = []
for y in range(0,im.size[1],by):
for x in col:
draw.text((x,y),"QQ",font=font,fill=0)
im.save("res-file.png")
im.show()
这给我下面的图片
问题是tesseract连QQ都认得。
QQ栏我也写在空白页,tesseract没认出来
有没有办法使用 tesseract 将 png 格式的 table 转换为文本?有什么事让我想不到吗?
主要问题是 QQ 的垂直间距。通过添加一些垂直间距并调整图像大小,我得到了可接受的结果
im=Image.open("file.png")
draw = ImageDraw.Draw(im)
font=ImageFont.truetype("/usr/share/fonts/gnu-free/FreeSerifBold.ttf",12)
by = font.getsize("S")[1]
col = [240,480]
px = []
for y in range(0,im.size[1],by+5):
for x in col:
draw.text((x,y),"QQ",font=font,fill=0)
im=im.resize((im.size[0]*2,im.size[1]*2))
im.save("res-file.png")
im.show()
这里是tesseract res-file.png outputfile
后得到的文字
8888
8888
商店§开业日期§城镇
迈克 §2007-Nov-09§sourisvi||e
阿比巴斯§2009-Jan-05§魔法城
Iuma $2009-Jan-05§vani||a
Beboot §2009-Mar-31§at|antis
基础知识 $2008-Jun-27§o|d 纽约
我的问题是 post 关于使用 OCR 从图像中的 table 提取数据。
我正在使用 tesseract
将 table 图片转换为文本。除了不保留 table 的格式外,这很好用。一种解决方案是用一些字母替换列 tesseract
会识别并欺骗它接受 table 就像一些文本一样。
这是一个 table 没有列
我用下面的代码绘制"QQ"
的列im=Image.open("file.png")
draw = ImageDraw.Draw(im)
font=ImageFont.truetype("/usr/share/fonts/gnu-free/FreeSerifBold.ttf",12)
by = font.getsize("S")[1]
col = [240,480]
px = []
for y in range(0,im.size[1],by):
for x in col:
draw.text((x,y),"QQ",font=font,fill=0)
im.save("res-file.png")
im.show()
这给我下面的图片
问题是tesseract连QQ都认得。 QQ栏我也写在空白页,tesseract没认出来
有没有办法使用 tesseract 将 png 格式的 table 转换为文本?有什么事让我想不到吗?
主要问题是 QQ 的垂直间距。通过添加一些垂直间距并调整图像大小,我得到了可接受的结果
im=Image.open("file.png")
draw = ImageDraw.Draw(im)
font=ImageFont.truetype("/usr/share/fonts/gnu-free/FreeSerifBold.ttf",12)
by = font.getsize("S")[1]
col = [240,480]
px = []
for y in range(0,im.size[1],by+5):
for x in col:
draw.text((x,y),"QQ",font=font,fill=0)
im=im.resize((im.size[0]*2,im.size[1]*2))
im.save("res-file.png")
im.show()
这里是tesseract res-file.png outputfile
8888
8888
商店§开业日期§城镇
迈克 §2007-Nov-09§sourisvi||e
阿比巴斯§2009-Jan-05§魔法城
Iuma $2009-Jan-05§vani||a
Beboot §2009-Mar-31§at|antis
基础知识 $2008-Jun-27§o|d 纽约