我正在尝试使用 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)
}
}
}