我有一张收据图像,我正在尝试使用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()