Поддерживает ли swift 5 извлечение данных глубины из формата изображения .HEIC?
Недавно я пытался извлечь данные о глубине и данные о матовых эффектах портрета с помощью портретных изображений. Я попытался сделать это с портретными изображениями (формат .HEIC), снятыми на iPhone 11 с iOS 14.3. Но мне не удалось извлечь данные глубины и матовые данные из этих изображений.
Вот фрагмент кода, который я использовал для извлечения матовых данных из портретного изображения в формате .HEIC,
func portraitEffectsMatteImageAt(_ path: String) -> UIImage? {пусть bundlePath = Bundle.main.bundlePath
// Check that the image at given path contains auxiliary PEM data:
guard let fileURL = NSURL(fileURLWithPath: bundlePath).appendingPathComponent(path),
let source = CGImageSourceCreateWithURL(fileURL as CFURL, nil),
let auxiliaryInfoDict = CGImageSourceCopyAuxiliaryDataInfoAtIndex(source, 0, kCGImageAuxiliaryDataTypePortraitEffectsMatte) as? [AnyHashable: Any],
let matteData = try? AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliaryInfoDict),
let matteCIImage = CIImage(portaitEffectsMatte: matteData)
else {
return nil
}
return UIImage(ciImage: matteCIImage)
}
Эта функция возвращает nil вместо того, чтобы возвращать матовое изображение. Итак, как мне извлечь матовые данные и данные глубины из изображений в формате .HEIC?
Большое спасибо