翘曲图像区域触摸点区域?

Joy*_*ard 9 android image-processing image-editing

我需要一个基本的想法,如何在特定区域的触摸下扭曲图像.图像滤镜在整个图像上应用扭曲,但我想扭曲单点,就像我想扭曲一个人的眼睛然后我将触及那一点.所以我需要一个关于这项工作的基本想法.

我试过这个,但它也适用于整个图像的过滤器. https://github.com/Jtfinlay/PhotoWarp

应用:https: //play.google.com/store/apps/details?id = hu.tonuzaba.android&hl = en

Yve*_*ust 6

经线不只是在"单点",而是在某些区域,您可以顺利地变形.

要实现这一点,您需要在触摸点的某个邻域中工作的坐标的几何变换.实现此目的的一种方法是在图像上应用方形网格,并使用您的一些定律在触摸点周围移动网格节点(例如,将位移矢量应用于所有节点,具有衰减因子,使得远处节点不会不动了.

然后,您需要一个重采样功能,用于计算每个像素的新坐标并复制源像素的颜色.

为了获得良好的效果,您必须实际反向工作:扫描目标图像,并为每个像素检索源坐标和源像素.应用双线性或双三次重采样以避免混叠.

为了便于实现,还应该调整网格化思路:不是使目标网格变形,而是保持不变并将逆变形应用于源网格.

最后一点:在网格方法中,将网格节点的位移视为可以单独处理的两个标量函数DX(i,j)和DY(i,j).根据节点位移的知识,您可以通过插值估计任何像素的位移(此处为双三次).