如何从 UIImage 中提取 AVMetadataObject?

Posted

技术标签:

【中文标题】如何从 UIImage 中提取 AVMetadataObject?【英文标题】:How can I extract an AVMetadataObject from a UIImage? 【发布时间】:2013-10-29 02:46:24 【问题描述】:

我想使用带有UIImageios 7 新的条形码扫描功能,而不是从设备的一个摄像头实时捕捉。我已经使用AVCaptureDeviceInput 进行了检测。

我认为最好的方法是创建一个具体的AVCaptureInput 子类,从UIImageAVCaptureSession 提供媒体数据。但是,我找不到任何关于如何继承AVCaptureInput 的文档或示例,所以我很茫然。

另一种方法是从现有的AVCaptureDeviceInput 覆盖媒体流,但由于这些 API 是私有的,我想在 App Store 上发布我的应用程序,这并不理想。

最终,我可能最终会使用 ZXing 或 ZBar 之类的第三方条形码库来执行此操作,但在这里无法使用 Apple 的内置功能似乎是一种浪费。

【问题讨论】:

仅供参考,我提交了一份 Apple 开发人员技术支持请求并提出了这个问题,Apple 表示无法做到这一点,如果需要它的功能,请提交雷达。 你的问题解决了吗? 我最终使用了 ZBar。 iOS 7 或 iOS 8 都不支持。 感谢您的更新。我如何“提交雷达”来请求这个? @StanJames bugreport.apple.com 【参考方案1】:

生活很轻松。 您可以改用 CIDetector。 将图像转换为 CIImage 以供 CIDetector 解码。

【讨论】:

以上是关于如何从 UIImage 中提取 AVMetadataObject?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用CIFilter从CIImage中提取UIImage

如何从 PHAsset 提取中获取照片?

无法从 MPMediaItemPropertyArtWork 获取 UIImage

遍历来自 NSArray 的数据并从 url 中提取 UIImage

从 AVPlayer 中提取位图非常不确定

如何从 UIImage 获取 NSDATE?