Vision, VNDetectTextRectanglesRequest - não é possível reconhecer um número único como região
Eu quero usarVNDetectTextRectanglesRequest
a partir de uma estrutura do Vision para detectar regiões em uma imagem que contém apenas um caractere, número '9', com fundo branco. Estou usando o seguinte código para fazer isso:
private func performTextDetection() {
let textRequest = VNDetectTextRectanglesRequest(completionHandler: self.detectTextHandler)
textRequest.reportCharacterBoxes = true
textRequest.preferBackgroundProcessing = false
let handler = VNImageRequestHandler(cgImage: loadedImage.cgImage!, options: [:])
DispatchQueue.global(qos: .userInteractive).async {
do {
try handler.perform([textRequest])
} catch {
print ("Error")
}
}
}
func detectTextHandler(request: VNRequest, error: Error?) {
guard let observations = request.results, !observations.isEmpty else {
fatalError("no results")
}
print("there is result")
}
O número de resultados de observações que recebo é 0, no entanto, se eu fornecer uma imagem com o texto '123' em fundo preto, '123' será detectado como uma região com texto. O problema descrito também ocorre para números de 2 dígitos, '22' em fundo branco também não é detectado.
Por que uma API Vision detecta apenas 3 dígitos + números em fundo branco no meu caso?