Posts

Post not yet marked as solved
1 Replies
0 Views
I figured it out: apparently the result is always the same - VNRectangleObservation. But underlying VNDetectedObjectObservation contains globalSegmentationMask. So: let request = VNDetectDocumentSegmentationRequest { (request, error) in guard let results = request.results as? [VNRectangleObservation], let result = results.first else { // No results return } guard let segmentationMask = result.globalSegmentationMask, // VNPixelBufferObservation let pixelBuffer = segmentationMask.pixelBuffer else { // Mask is unusable return } // And then for example: let ciImage = CIImage(cvPixelBuffer: pixelBuffer) }