UIImage非线性调整大小

Iva*_*lek 9 opencv opengl-es objective-c ios

我有单色图像,我需要调整它的一些部分,不同的比例.期望的结果显示在图像上.我已经看过在opengles中应用网格网格但我找不到一些示例代码或更详细的教程.我也看过imgwrap,但到目前为止我可以看到这个库需要qt框架.任何想法,示例代码或进一步阅读的链接将不胜感激,谢谢.在此输入图像描述

MrT*_*rTJ 8

您面临的问题在计算机图形学中称为"图像变形".首先,您必须在原始图像中定义一些控制点,并在示例目标图像中定义相应的点.然后你必须计算一个密集位移场(在这个应用程序中称为包裹网格)并简单地将此字段应用于原始图像.

更实际的是:你在iOS上最好的选择是在OpenGL中创建一个顶点的2D网格.将原始图像作为纹理映射到此网格上,并通过移动其某些点来变形原始网格.然后,您可以使用glReadPixels简单地截取结果图像的屏幕截图.

我不知道任何CIFilter会实现这种位移场映射.

更新:我还发现了一个使用8个控制点来使用OpenCV变换图像的示例代码.http://engineeering.blogspot.it/2008/07/image-morphing-with-opencv.html

OpenCV具有iOS的工作端口,因此您可以在目标设备上简单地尝试上面链接上的代码.


Tot*_*oro 1

您可能想使用薄板样条线和 OpenCV尝试此示例。在我看来,这是最容易尝试的在线解决方案。