4

我在使用 iOS 15 的应用程序中发现 Vision 框架存在问题。我在字符串中写入已识别的文本,但在 iOS 15 下,结果的顺序不正确。

也许一个例子会更好地解释它:-)

要扫描的文本:

你好,我的名字是迈克尔,我是一个
名为 Scan2Clipboard 的应用程序的程序员。
现在我已经关注了
VNRecognizeTextRequest 和 iOS 15 的问题。

iOS 14 下的结果:

你好,我的名字是迈克尔,我是一个
名为 Scan2Clipboard 的应用程序的程序员。
现在我已经关注了
VNRecognizeTextRequest 和 iOS 15 的问题。

iOS 15 下的结果:

你好,我的名字是迈克尔,我是一个应用程序的程序员
现在我已经关注了一个
名为 Scan2Clipboard 的问题。
VNRecognizeTextRequest 和 iOS 15。

我尝试了 App Store 中的其他一些应用程序(扫描和复制、快速扫描)。他们表现出相同的行为。他们也在使用 Vision 框架。其他人也有这个问题吗?

下面的第一张图是源,第二张图是结果。请注意结果中间的“Für den Mürbteig”跳跃:

例子:

在此处输入图像描述

4

2 回答 2

0

iOS15.1 Beta 3 错误消失

于 2021-10-12T12:34:40.353 回答
0

如果我将 maximumRecognitionCandidates 从 1 更改为更高的数字,结果会变得更好。如果 maximumRecognitionCandidates 为 3 或更高,则结果的顺序正确,并且该值在 9 之前没有任何区别。如果值为 10,则结果与值 1 相同。

因此,目前这只是一种解决方法。

let maximumRecognitionCandidates = 9
            for observation in observations {
                guard let candidate = observation.topCandidates(maximumRecognitionCandidates).first else { continue }
                entireRecognizedText += "\(candidate.string)\n"
于 2021-09-27T19:28:51.713 回答