python - 使用 pytesseract 的段落边界框
问题描述
我有一张收据图像,我正在尝试使用 Pytesseract 来围绕收据的文本段落绘制边界框。问题是 Tesseract 是根据字母而不是每个块来识别边界框的区域。
我也知道 Tesseract 的不同页面分割模式,尽管我已经尝试了所有这些模式,但没有任何效果。有什么我想念的吗?
这是我迄今为止尝试过的:
import cv2
import pytesseract
import matplotlib.pyplot as plt
filename = 'optimized_scanned_images/test1.jpg'
img = cv2.imread(filename)
h, w, _ = img.shape
boxes = pytesseract.image_to_boxes(img, config='-psm 5 load_system_dawg = False load_freq_dawg=False')
for b in boxes.splitlines():
b = b.split(' ')
img = cv2.rectangle(img, (int(b[1]), h - int(b[2])), (int(b[3]), h - int(b[4])), (0, 255, 0), 1)
fig, ax = plt.subplots(figsize=(10, 6))
ax.imshow(img)
ax.set_axis_off()
plt.tight_layout()
plt.show()
解决方案
推荐阅读
- excel - 如何在 Excel/VBA 中减小 pdf 文件大小
- routes - Quarkus - Openshift - route.annotations
- entity-framework - 带有 GUIDS 列表的实体框架子句
- grafana - 无法使用 grafana tempo 连接 opentelemetry 收集器
- flutter - 为什么我不能定义内容器的高度?
- python - 使用 return 语句正确退出 while 循环
- node.js - 如何在 Node JS 中读取标准输入以编写从用户输入中添加两个数字的程序
- android - RecyclerView 不会填满剩余空间(ConstraintLayout)
- c# - 想从 2 个按钮打开相同的表单,但每个按钮都可以打开一次
- javascript - 显示所选下拉项目的价格