更新 Xcode 11 和 iOS 13 后,Firebase 文本检测无法正常工作



大家好,我已经将我的Xcode更新为11,将iPhone更新为iOS 13。我正在使用带有实时摄像头的Firebase ml文本检测来检测文本,并更新了Firebase库。问题是这段代码现在不起作用,并向我显示奇怪的错误显示在图片错误图像中 在更新之前发现此错误,我已经尝试了很多方法来解决这个问题,没有希望。我希望有人帮助我.

//MARK:- CAMERA SETUP VIEW //=======================================================
func cameraSetUp(){
//MARK INPUT
captureSession.sessionPreset = .photo
guard  let captureDevice = AVCaptureDevice.default(for: .video) else {return}
guard  let input = try? AVCaptureDeviceInput.init(device: captureDevice) else {return}
captureSession.addInput(input)
captureSession.startRunning()
//MARK OUTPUT
let previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraview.layer.addSublayer(previewLayer)
previewLayer.frame = cameraview.layer.bounds
let dataoutput = AVCaptureVideoDataOutput()
let queue = DispatchQueue(label: "VideoQueue")
dataoutput.setSampleBufferDelegate(self, queue: queue)
captureSession.addOutput(dataoutput)
}
//MARK:- CAMERA captureOutput //=======================================================
func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
self.cameraOperation (buffer : sampleBuffer)
}
//MARK:- CAMERA Operation //=======================================================
func cameraOperation (buffer : CMSampleBuffer){
let textRecognizer = vision.onDeviceTextRecognizer()
Using_back_facing_camera (metadata : metadata)
let image = VisionImage(buffer: buffer )
image.metadata = metadata
// Using back-facing camera
self.detectText (image : image, textRecognizer: textRecognizer)
}

func Using_back_facing_camera (metadata :VisionImageMetadata){
// Using back-facing camera
let devicePosition: AVCaptureDevice.Position = .back
let deviceOrientation = UIDevice.current.orientation
switch deviceOrientation {
case .portrait:
metadata.orientation = devicePosition == .front ? .leftTop : .rightTop
case .landscapeLeft:
metadata.orientation = devicePosition == .front ? .bottomLeft : .topLeft
case .portraitUpsideDown:
metadata.orientation = devicePosition == .front ? .rightBottom : .leftBottom
case .landscapeRight:
metadata.orientation = devicePosition == .front ? .topRight : .bottomRight
case .faceDown, .faceUp, .unknown:
metadata.orientation = .leftTop
}
}
//MARK:- THIS FUNC RESPONSABLE FOR DETECT THE TEXT
func detectText (image : VisionImage , textRecognizer: VisionTextRecognizer) {
//        let imageTest = VisionImage(image: UIImage(named:"test1")!)
textRecognizer.process(image) { [weak self ] result, error in
guard let self = self else {return}
guard error == nil else {return}
guard  let result = result else {return}
if self.passToAnotherPage == true {
print(result.text)
self.KSSView.text = result.text
self.resultText = result.text
self.filterCamera(resultText : self.resultText)
} else {
self.resultText = ""
}
}

}

错误图像中突出显示的错误是无害的。日志中还有多个其他错误,这些错误可能指示应用代码中存在问题。

请尝试 ML 工具包的快速入门 mlvision 示例应用中的文本识别示例,请访问:

https://github.com/firebase/quickstart-ios.git

它在带有Xcode 13.1的iOS 11.0上运行良好。

最新更新