Post

Replies

Boosts

Views

Activity

Reply to How to get the saliency mask of the VNDetectDocumentSegmentationRequest
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) }
Topic: Machine Learning & AI SubTopic: General Tags:
Dec ’21
Reply to How to get the saliency mask of the VNDetectDocumentSegmentationRequest
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) }
Topic: Machine Learning & AI SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’21