使用 OCR 引擎 tesseract 无法理解提取文档中的坐标
Posted
技术标签:
【中文标题】使用 OCR 引擎 tesseract 无法理解提取文档中的坐标【英文标题】:Not able to understand coordinate in extracted document using OCR engine tesseract 【发布时间】:2013-09-04 05:07:03 【问题描述】:我从 tesseract 中提取了一个图像文档,并且它已成功提取。但我无法理解提取文档的坐标。
问题描述:-
它显示坐标,但让我知道这些坐标代表像素或其他东西。这些像 title="bbox 10 13 43 46" 有四个,那么 10、13 43 和 46 是什么。它们代表什么位置
解压后的完整代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>
</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name='ocr-system' content='tesseract'/>
</head>
<body>
<div class='ocr_page' id='page_1' title='image "D:\ABC.tif"; bbox 0 0 464 101'>
<div class='ocr_carea' id='block_1_1' title="bbox 10 13 330 55">
<p 1class='ocr_par'>
<span class='ocr_line' id='line_1_1' title="bbox 10 13 330 55">
<span class='ocr_word' id='word_1_1' title="bbox 10 13 43 46">
<span class='ocrx_word' id='xword_1_1' title="x_wconf -1"><strong>hi</strong></span>
</span>
<span class='ocr_word' id='word_1_2' title="bbox 148 13 268 47">
<span class='ocrx_word' id='xword_1_2' title="x_wconf -1"><strong>whats</strong></span>
</span>
<span class='ocr_word' id='word_1_3' title="bbox 283 22 330 55">
<span class='ocrx_word' id='xword_1_3' title="x_wconf -1"><strong>up</strong></span>
</span>
</span>
</p>
</div>
</div>
</body>
</html>
【问题讨论】:
可以显示输入的图片吗? 【参考方案1】:对于那些仍然想知道坐标系是如何工作的人来说,我终于找到了它,就像
10 13 43 46 startx, starty, endx, endy
如果你想找到单词的宽度和高度,那将是
宽度 = endx - startx,高度 = endy - starty
用 ' ' 分割字符串,然后消除 bbox 就可以了..
【讨论】:
【参考方案2】:也许这会对将来的某人有所帮助。我认为图像不言自明。 您可以根据这些值(例如高度 = y1-y0)计算高度或顶部距离(对于 css)
【讨论】:
除了 y 轴反转,如在大多数图形应用程序中,github.com/kba/hocr-spec/issues/34#issuecomment-252418295【参考方案3】:这些数字应该显示一个框(一个矩形)角的位置,其中有一个单词。
这就是hocr 协议。
根据您的文档 tesseract 识别句子“hi whats up”
【讨论】:
请告诉我这些词的位置。 它们是否以像素表示,位置为左、上、右、下? ***上的第一个链接here。我给了你一个链接,你没有使用它。以上是关于使用 OCR 引擎 tesseract 无法理解提取文档中的坐标的主要内容,如果未能解决你的问题,请参考以下文章
OCR引擎Tesseract以及pytesseract详解及实例
如何通过Tesseract开源OCR引擎创建Android OCR应用
如何通过Tesseract开源OCR引擎创建Android OCR应用