如何过滤更大的文本字体?

Posted

技术标签:

【中文标题】如何过滤更大的文本字体?【英文标题】:How to filter bigger font sizes of a text? 【发布时间】:2021-07-10 02:01:21 【问题描述】:

我一直在编写代码来阅读文本,在树莓派上使用 opencv 和 tesseract。它运行良好,但我只想过滤文本的标题,即区分最小的字符和最大的字符,只提取最大的字符。 有没有办法实现这种差异化?

这里是初始代码:

import cv2
import pytesseract


cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)

while True:
    
    success, img = cap.read()
    
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    cv2.imshow("Video",img)
    
    
    
    if cv2.waitKey(1) & 0xFF ==ord('q'):
        cv2.imwrite("NewPicture.jpg",img)
        break
    
text = pytesseract.image_to_string(img, config='--oem 3 --psm 11')

print(text)

Example image

【问题讨论】:

如果检测和识别是分开的步骤,那么可以在检测后过滤掉小框。如果它们是在单个步骤中执行的,例如您的示例,您仍然可以过滤掉小框,尽管这不是最佳解决方案。问题是如何获得文本的边界框。对此有任何搜索吗? 【参考方案1】:

快速搜索pytesseract documentation 表明它有:

# Get verbose data including boxes, confidences, line and page numbers
print(pytesseract.image_to_data(Image.open('test.png')))

使用此 API 和过滤边界框的大小,您可能会获得相当多的数据。

【讨论】:

以上是关于如何过滤更大的文本字体?的主要内容,如果未能解决你的问题,请参考以下文章

组合框没有正确调整大小以适应更大的字体大小

蜂巢地图加入。 Hive 选择更大的表存储在缓存中

如何在 scipy 生成的 ddrogram 中为 x 轴刻度标签获得更大的字体大小?

如何使用vuejs过滤器

VDCN

如何在手表上测试不同的字体大小(动态类型)?