iOS Vision:VnRecognitedText boundingBox(for:)方法为任何范围返回相同的边界框

iOS Vision:VnRecognitedText boundingBox(for:)方法为任何范围返回相同的边界框,ios,swift,ios13,visionkit,ios-vision,Ios,Swift,Ios13,Visionkit,Ios Vision,我正在使用iOS Vision框架通过vnRecognitizedExtrequest调用执行OCR,并尝试在生成的vnRecognitizedText观察中定位每个字符。但是,当我在任何VNRecognizedText对象上调用boundingBox(对于range:range)方法时,对于识别文本中的任何有效范围,我都会得到相同的边界框。此边界框对应于整个字符串的边界框 我是否误解了boundingBox(for:)方法,或者是否有其他方法可以获取识别文本观察中单个字符的离散位置信息 提前谢

我正在使用iOS Vision框架通过
vnRecognitizedExtrequest
调用执行OCR,并尝试在生成的
vnRecognitizedText
观察中定位每个字符。但是,当我在任何
VNRecognizedText
对象上调用
boundingBox(对于range:range)
方法时,对于识别文本中的任何有效范围,我都会得到相同的边界框。此边界框对应于整个字符串的边界框

我是否误解了
boundingBox(for:)
方法,或者是否有其他方法可以获取识别文本观察中单个字符的离散位置信息

提前谢谢

编辑:

在深入研究这一点之后,我意识到与词组和空格有某种联系。
考虑用“Fo-bar”字符串值识别已识别的文本。为“Foo”中的每个字符调用
boundingBox(for:)
将返回完全相同的边界框,该边界框基于尺寸,似乎对应于整个子字符串“Foo”,而不是传递到
boundingBox
方法的单个字符的范围。然后,在另一个奇怪的行为中,空白字符的
边界框
只是原点处的一个空区域,其边与它两侧的子字符串不对应。最后,第二个子字符串的行为与第一个子字符串相同:“bar”中的每个字符都有相同的边界框。

经过数小时的进一步调查,我决定与苹果开发人员技术支持部门联系。果然,这是一只虫子!当
vnecrognitzetextrequest.recognitionLevel
设置为
.accurrent
时,正如我之前所做的那样,错误就会显现出来。当
recognitionLevel
设置为
.fast
时,结果的行为与预期一致,每个字符都有离散的边界框。

我面临着完全相同的问题。技术支持人员有没有提到解决方法?我依赖于
。准确的
识别级别,但需要特定于字符的边界框。或者您是否能够以某种方式使其与
一起工作。准确
?没有提供解决方法!我最终实现了一个近似值,即平均整个字符串的字符宽度,并相应地更新字符级边界框,但显然这远远不够理想。。。