【问题标题】:How to merge the perspective image(3D Transform)?如何合并透视图(3D 变换)?
【发布时间】:2012-09-09 12:55:48
【问题描述】:

如何合并这两个图像(见附图)。我正在使用下面的代码。它适用于普通图像,不适用于 3D 变换图像。如何处理这个问题。我已经搜索了很多次仍然没有得到正确的结果。请帮我。提前致谢。

UIImage *mergedImage;
UIGraphicsBeginImageContext(backgroundImageView.frame.size);
[backgroundImageView.layer  renderInContext:UIGraphicsGetCurrentContext()]; //bacgroundImageView here
mergedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

【问题讨论】:

  • 我看到您在这里使用了我的 GPUImage 框架(这些是我随框架提供的示例图像)。为什么不使用混合过滤器,结合变换过滤器,而不是使用 UIViews?

标签: iphone uiimage core-image cgimage


【解决方案1】:

您可以创建一个CGImageRef,其中包含要放在顶部的扭曲图像(该图像的背景为 0% alpha),这样您就可以使用上述代码混合图像。

因此,您真正需要的是如何将 3D 变换应用于图像。更准确地说,当您在自己的话中寻找“透视”时,您正在寻找如何将单应性扭曲到图像。

CoreImage programming guide 指定CIPerspectiveTransform 是要走的路,不幸的是,从 iOS 5.1 开始,这在 iOS 上不可用。

所以你有几个选择:

    1234563 /p>
  • 如果您绝对需要混合图像,则需要使用其他框架,例如 OpenCVwarpPerspective() 是您要查找的函数)或 OpenGL ES

【讨论】:

    【解决方案2】:

    不幸的是,renderInContext: 只能展平 2D 变换。它不能展平应用于图层的 3D 变换。没有办法解决这个问题。

    【讨论】:

    • 谢谢 sudo rm -rf...任何其他想法...我想合并图像..怎么办?
    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 2015-03-29
    • 2013-10-05
    • 2012-06-07
    • 2011-07-27
    • 2023-03-15
    • 2021-10-28
    • 1970-01-01
    相关资源
    最近更新 更多