我正在尝试使用放置在此问题中的示例代码使用 ABBYY OCR SDK 处理图像,但我无法在下面的屏幕截图中获得特定单词“OCR”的坐标。
我想绘制一个叠加层(在单词“OCR”上的黄色矩形),有时矩形放置在离实际单词很远的地方。
我正在尝试使用放置在此问题中的示例代码使用 ABBYY OCR SDK 处理图像,但我无法在下面的屏幕截图中获得特定单词“OCR”的坐标。
我想绘制一个叠加层(在单词“OCR”上的黄色矩形),有时矩形放置在离实际单词很远的地方。
您获得的 XML 是根据此模式合成的。
对于每个已识别的字符,它将包含一个charParams
元素实例,如您链接到的答案所示。该元素将包含以页面像素为单位的坐标 - 相同的 XML 还包含一个page
元素:
<page width="..." height="..." resolution="..." originalCoords="...">
存储图像宽度和高度的位置。因此l
,r
对于每个charParams
元素,都在0..width-1
相应页面的范围内t
,b
对于每个charParams
元素,在相应页面的范围内0..height-1
。
另外值得一提的是,所有坐标都以像素为单位——它们完全与分辨率无关。这就是为什么每当您尝试突出显示图像上的任何内容时都必须考虑缩放 - 设备软件可能不会始终按原样显示图像,而是会缩小比例,因此您必须将页面坐标映射到缩放的- 输出图像坐标并适当突出显示。
您是否检查过原始图像的 DPI 并检查文档以确保 OCR 引擎使用相同的 DPI 并且没有以点或其他测量系统返回图像。
您在 iOS 中绘制的矩形可能不是基于像素,而是基于其他一些测量系统。
您只需要完成整个过程,随时进行测试,并找出问题的根源。它很可能是一个统一的缩放比例,并且与实际单词的距离与该单词与页面左上角的距离成正比。