【发布时间】:2019-09-24 11:44:41
【问题描述】:
大家好,我已将我的 Xcode 更新到 11 并将我的 iPhone 更新到 iOS 13。我正在使用带有实时摄像头的 firebase ml 文本检测来检测文本,并更新了 firebase 库。问题是这段代码现在不起作用,并向我显示图片中出现的奇怪错误error image 在更新之前发现这个错误我已经尝试了很多方法来解决这个问题没有希望。我希望有人帮助我。
//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 = ""
}
}
}
【问题讨论】:
标签: swift firebase swift5 firebase-mlkit