我对使用 OCR 从简单文本中提取粗体和斜体字感兴趣。例如,如果我输入带有如下文本的清晰图像:
“敏捷的棕狐跳过了懒惰的狗。”
我想得到这样的输出:bold("brown", "jumps"), italic("lazy")
我已经研究过用 OCRopus 或 Tesseract 来做这件事,但是文档很差,我不知道它是否可能,或者如果它是怎么做的。
Tesseract 3.0.1 中有这样的功能,来自主干。API 中添加了一个新类 - ResultIterator
,它具有您感兴趣的以下功能:
WordFontAttributes(bool* is_bold,
bool* is_italic,
bool* is_underlined,
bool* is_monospace,
bool* is_serif,
bool* is_smallcaps,
int* pointsize,
int* font_id).
其实你可以从这里自己看到。
Tesseract 3.0x 基于 XML 的 hOCR 格式包括字符属性。您可能想尝试一下。
http://code.google.com/p/tesseract-ocr/issues/detail?id=377#c5