Поддерживает ли 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?

Большое спасибо

0 ответов

Другие вопросы по тегам