ios - CIFilter filterWithCVPixelBuffer 在 iOS 中返回 nil

标签 ios camera core-image cifilter

我正在尝试使用 filterWithCVPixelBuffer 创建一个 CIFilter,但它返回 nil。 这就是我想要做的:

CFDictionaryRef options = CMCopyDictionaryOfAttachments(nil, photo.pixelBuffer, kCMAttachmentMode_ShouldPropagate);
CIFilter * ciFilter = [CIFilter filterWithCVPixelBuffer:photo.pixelBuffer properties:(__bridge NSDictionary*)options options:nil];

photo 是给委托(delegate)的 AVCapturePhoto 实例。 我正在使用 iOS 12 并在 iPhone7 上运行代码。

最佳答案

问题出在 NSDictionary 属性中。我应该简单地传递 photo.metadata。 所以函数调用看起来像:

CIFilter * ciFilter = [CIFilter filterWithCVPixelBuffer:photo.pixelBuffer properties:photo.metedata options:nil];

当然,您可以传递包含所需CIRAWFilterOption(s)NSDictionary

关于ios - CIFilter filterWithCVPixelBuffer 在 iOS 中返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54312166/

相关文章:

android - Web 应用程序中的签名捕获

ios - Apple Watch 中的手势识别 (WatchKit)

ios - 适用于 iOS 的即时 alpha 或魔棒工具

ios - 尝试将 CIImage 与从视频文件帧获得的纹理一起使用时,CIImage 为空白

objective-c - iOS 图像处理(失真)

ios - xcode 6 iOS launchScreen.xib 本地化问题

ios - 通过 UIScrollView 将某些触摸传递给底层 View

iphone - 重新创建 iOS 相机应用覆盖按钮

android - 将照片保存在内部存储器中

java - 如何以编程方式更改位图?