我使用ABBYY的OCR SDK转换图像:
CSafePtr<IFRDocument> frDocument = ...;
frDocument->AddImageFile( "C:\\test\\input.tif" );
frDocument->Process( 0 );
frDocument->Export( "C:\\test\\output.rtf", FEF_RTF, 0 );
但是现在我需要获得字符边框和置信度。我可以从Tesseract获得它们,所以我认为它也可以与ABBYY的SDK一起使用。
如何获得边界框和置信度?
答案 0 :(得分:3)
我最终找到了如何做到这一点,你需要使用IPlainText::GetCharacterData()
。
PlainText对象的GetCharacterData方法 此方法将有关文本中所有字符的信息作为一组数组返回:字符所在的页码,字符的坐标&#39;矩形和字符&#39;置信度。
示例:
CSafePtr<IPlainText> plainText;
frDocument->get_PlainText(&plainText);
SAFEARRAY *confidences, *pageNumbers, *leftBorders, *topBorders, *rightBorders, *bottomBorders, *isSuspicious;
plainText->GetCharacterData(&pageNumbers, &leftBorders, &topBorders, &rightBorders, &bottomBorders, &confidences, &isSuspicious);