处理AVCaptureVideoDataOutput有关方向的图像数据的build议方法是什么?

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

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

我遇到的主要问题是图像的方向是尴尬的。 这是旋转和镜像,它也看起来倾斜。 我已经做了一些研究,我发现了一些相关的 问题 ,我已经尝试了已经build议的代码,但它不能解决旋转问题。

我认为这些问题是假定UIImage是从其他地方传来的(也许是一个更高级的API,自动为图像添加更多的信息,例如方向),或者是因为我是从video输出源中获得的?

我并不是真的在寻找解决这个问题的代码(尽pipe注释的例子会有帮助),而是以这种方式获得的图像的生命周期的一个很好的解释。 推荐的处理方法是什么?这样可以在屏幕上以对手机方向有意义的方式显示? CGImageRef的方向是什么? 等等

我有一个以前的问题 ,有我用来设置AVCaptureSession的代码。

video连接通常是在风景(如AVCaptureVideoOrientationLandscapeRight)这个苹果有一些很好的信息问答

我的理解是,你不能设置AVCaptureVideoDataOutput的video方向。 因此,在链接中的所有各种技巧来旋转AVCaptureSession委托方法中的当前帧图像captureOutput:didOutputSampleBuffer:fromConnection:

我从你以前的文章中假设你看了一下SquareCam示例项目。 RosyWriter项目还通过比较连接的videoOrientation属性和应用程序预期的“参考”纵向方向,提供了一些有趣的方向处理。

希望能帮助到你。