G. *_*ore 4 ios swift ios-vision ios13 visionkit
我正在使用 iOS Vision 框架通过调用执行 OCR VNRecognizeTextRequest
,并尝试在结果VNRecognizedText
观察中找到每个单独的字符。但是,当我对boundingBox(for range: Range<String.Index>)
任何VNRecognizedText
对象以及识别文本内的任何有效范围调用该方法时,我会得到相同的边界框。该边界框对应于整个字符串的边界框。
我是否误解了该boundingBox(for:)
方法,或者是否有其他方法可以获取已识别文本观察中单个字符的离散位置信息?
提前致谢!
编辑:
经过更多研究后,我意识到单词组和空格之间存在某种联系。考虑字符串值为“Foo bar”的已识别文本观察。调用boundingBox(for:)
“Foo”中的每个字符都会返回完全相同的边界框,根据尺寸,该边界框似乎对应于整个子字符串“Foo”,而不是我们传递到该方法的范围的单个字符boundingBox
。然后,在另一位奇怪的行为中,boundingBox
空白字符只是原点处的一个空白区域,其边缘与其两侧的子字符串不对应。最后,第二个子字符串的行为与第一个子字符串相同:“bar”中的每个字符都具有相同的边界框。
经过几个小时的进一步调查后,我决定联系 Apple 开发者技术支持。果然,这是一个bug!当VNRecognizeTextRequest.recognitionLevel
设置为时.accurate
,就像我一样,错误就会显现出来。当recognitionLevel
设置为时.fast
,结果将按预期运行,每个字符具有离散的边界框。
归档时间: |
|
查看次数: |
1393 次 |
最近记录: |