处理AVCaptureVideoDataOutput有关方向的图像数据的推荐方法是什么

时间:2012-11-30 07:27:04

标签: ios camera avcapturesession

我正在编写一个应用程序,对从AVCaptureSession中的AVCaptureVideoDataOutput获取的图像数据进行一些实时处理。

我目前能够开始会话,添加输入&输出然后检索图像数据,将其转换为UIImage并在屏幕上实时显示。

我遇到的主要问题是图像的方向很尴尬。它旋转和镜像,看起来也是倾斜的。我已经对它进行了一些研究,我发现了一些related questions,我已经尝试了已建议的代码,但它没有解决旋转问题。

我认为链接的问题假设UIImages来自其他地方(可能是更高级别的api,它会自动为图像添加更多信息,例如方向。或者也许是因为我从视频输出源获取它?

我并不是真的在寻找修复它的代码(尽管注释示例会非常有用),而是对以这种方式获得的图像的生命周期有效的良好解释;建议的处理方式是什么,以便能够以对手机方向有意义的方式在屏幕上显示?回归的CGImageRef的方向是什么?等

我有一个previous question,其中包含我用来设置AVCaptureSession的代码。

1 个答案:

答案 0 :(得分:3)

视频连接通常是横向连接(例如AVCaptureVideoOrientationLandscapeRight) 这个apple Q&A

有一些很好的信息

我的理解是您无法在AVCaptureVideoDataOutput上设置视频方向。 因此链接中的所有各种技巧都可以在AVCaptureSession委托方法captureOutput:didOutputSampleBuffer:fromConnection:

中旋转当前帧图像

我从您之前的帖子中假设您查看了SquareCam示例项目。 RosyWriter项目还通过将连接的videoOrientation属性与"引用"进行比较,提供了一些有趣的方向处理。应用程序期望的纵向方向。

希望它有所帮助。