如何过滤更大的文本字体?
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 和过滤边界框的大小,您可能会获得相当多的数据。
【讨论】:
以上是关于如何过滤更大的文本字体?的主要内容,如果未能解决你的问题,请参考以下文章