问题描述
在多于一列的图像上使用文本识别时遇到一些麻烦。例如:
cars:
1 red car 1 blue car
2 red car 2 blue car
3 red car 3 blue car
将返回:
cars:
1 red car
1 blue car
2 red car
2 blue car
3 red car
3 blue car
我需要它退货的是
cars:
1 red car
2 red car
3 red car
1 blue car
2 blue car
3 blue car
并非我需要分析的每张图像都有2列,但有很多列。
我当前使用的代码如下:
let requestHandler = VNImageRequestHandler(ciImage: image)
let textRecognitionRequest = VNRecognizeTextRequest(completionHandler: recognizeTextHandler)
textRecognitionRequest.recognitionLevel = VNRequestTextRecognitionLevel.accurate
do {
try requestHandler.perform([textRecognitionRequest])
}
catch {
print(error)
}
func recognizeTextHandler(request: VNRequest,error: Error?) {
let text = ""
guard let results =
request.results as? [VNRecognizedTextObservation] else {
fatalError("Could Not Detect Text")
}
for visionResult in results {
let maximumCandidates = 1
guard let candidate = visionResult.topCandidates(maximumCandidates).first else {
continue
}
let string = candidate.string
text += "\n"
text += candidate.string
}
print(text)
}
任何帮助将不胜感激。预先感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)