我正在使用 iOS Vision 框架通过VNRecognizeTextRequest
调用执行 OCR,并且我试图在结果VNRecognizedText
观察中找到每个单独的字符。但是,当我boundingBox(for range: Range<String.Index>)
在任何对象上调用该方法时,VNRecognizedText
并且对于已识别文本内的任何有效范围,我都会返回相同的边界框。这个边界框对应于整个字符串的边界框。
我是否误解了该boundingBox(for:)
方法,或者是否有其他方法可以在已识别的文本观察中获取单个字符的离散位置信息?
提前致谢!
编辑:
在进一步研究之后,我意识到单词组和空格之间存在某种联系。考虑具有字符串值“Foo bar”的已识别文本观察。调用boundingBox(for:)
“Foo”中的每个字符返回完全相同的边界框,根据尺寸,该边界框似乎对应于整个子字符串“Foo”,而不是我们传递给boundingBox
方法的范围的单个字符。然后,在另一个奇怪的行为中,boundingBox
空白字符的 for 只是原点处的一个空白区域,其边缘与它两侧的子字符串不对应。最后,第二个子字符串的行为与第一个相同:“bar”中的每个字符都有相同的边界框。