无法快速将 UnsafeMutablePointer<UInt8> 转换为图像

问题描述 投票:0回答:0

我正在尝试使用 HMS 图像分割库进行人体分割。处理输入图像后,getMasks() 函数返回 UnsafeMutablePointer 数据。我想从给定的数据生成蒙版图像,但不幸的是失败了。直到现在我还没有找到任何可以将这些数据转换为图像数据的解决方案。

class HMS_ImageSegmentationService : ObservableObject {
let humanBody_setting = MLImageSegmentationSetting()
let humanBody_analyzer = MLImageSegmentationAnalyzer.sharedInstance()

init() {
    humanBody_setting.exact = true
    humanBody_setting.analyzerType = .body
    humanBody_setting.scene = .all

    humanBody_analyzer.setImageSegmentationAnalyzer(humanBody_setting)
}

public func getHumanBodyClip(image: UIImage, completion: @escaping((UIImage)->Void)) {
    
    let mlFrame = MLFrame(image: image)
    let size = image.size
    humanBody_analyzer.asyncAnalyse(mlFrame) { mlImageSegmentation in
        let maskPointer = mlImageSegmentation.getMasks()!
        let resImage = convertToImage(maskPointer) // I want to write this function
        
        completion(resImg ?? image)
    } addOnFailureListener: { errInt, errStr in
        printIfDebug("\(errInt) \(errStr)")
        completion(image)
    }
}

}

ios swift image-segmentation huawei-mobile-services unsafemutablepointer
© www.soinside.com 2019 - 2024. All rights reserved.