我正在寻找一个工具或想法在python中实现,将hOCR文件(由应用程序的tesseract生成)转换为html表.这个想法是利用hOCR文件中的文本位置信息(在bbox属性中提供)来创建基于所提供位置的表.我提供了一个解释上述想法的例子:
我使用SlideShare.net中的这个图像作为我使用tesseract的应用程序的输入,我得到了下面的hOCR/xml文件作为输出.
hOCR文件:
<div class='ocr_page' id='page_2' title='image "sample_slide.jpg"; bbox 0 0 638 479; ppageno 1'>
<div class='ocr_carea' id='block_1_1' title="bbox 0 0 638 479">
<p class='ocr_par' dir='ltr' id='par_1' title="bbox 31 104 620 439">
<span class='ocr_line' id='line_1' title="bbox 32 104 613 138"><span class='ocrx_word' id='word_1' title="bbox 32 105 119 131">done:</span> <span class='ocrx_word' id='word_2' title="bbox 132 104 262 138">working</span> <span class='ocrx_word' id='word_3' title="bbox 273 105 405 138">product,</span> <span class='ocrx_word' id='word_4' title="bbox 419 104 517 132">hotels</span> <span class='ocrx_word' id='word_5' title="bbox 528 104 613 …Run Code Online (Sandbox Code Playgroud) 我正在构建一个在其后端使用OpenCV的Web应用程序.我已经在Ubuntu上构建了应用程序(我也在Windows上试过它)并且它工作正常.目前,我正在尝试配置OpenCV以使用Heroku.由于无法使用pip加载OpenCV,因此我阅读了有关使用heroku buildpacks的信息,这些内容包为服务器环境提供自定义.
以下是我尝试测试两个OpenCV构建包:
我使用Flask构建简单的Web服务器,尝试导入OpenCV:
#hello.py
import os
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
text = ''
try:
import cv2
text = 'success'
except:
text = 'fail'
pass
return text + ' to load openCV'
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app.run(host='0.0.0.0', port=port)
Run Code Online (Sandbox Code Playgroud)
上面的代码应该在加载OpenCV时返回成功或失败.
然后我通过运行以下命令将Heroku配置为使用(heroku multi buildpack):
heroku buildpacks:设置https://github.com/ddollar/heroku-buildpack-multi
在.buildpacks文件中(多buildpack所需)我把https://github.com/heroku/heroku-buildpack-python和https://github.com/slobdell/heroku-buildpack-python-opencv- scipy buildpacks.
第一个用于编译python应用程序和安装其他模块(例如,Flask)pip..第二个buildpack是应该加载OpenCV的那个.
毕竟,整个应用程序都不起作用!
我在Heroku中获得了(应用程序错误)页面,如下截图所示:

我尝试使用其他buildpack(https://github.com/diogojc/heroku-buildpack-python-opencv-scipy),但我得到了相同的结果.
我的问题是:
我做的步骤有什么问题?
我应该如何在heroku中的应用程序中调用(或使用)OpenCV?
我应该使用import语句还是其他命令?