如何实现类似PHOTOSHOP中的图像任意变形效果,目前GDI+可以轻松实现由长方形变成任意平行四边形,但无法轻意解决变成梯形、三角形和任意四边形。
例如下例:
扭曲变形效果之一:
扭曲变形效果之二:
在下一代操作系统Vista中, 图形图像通过WPF的三维映射相应方式可以解决此问题(见我的一篇文章:在Expression Blend中制作侧面为梯形的类棱柱体),但有没有更直接的算法来解决此问题呢?经过搜索,在网上找到一篇论文:
彩色图象的二维变形
(作者:向辉)
摘 要 该文讨论了彩色图像的变形扭曲技术,并针对二维变形给出了一个速度、精度均令人满意的算法。
关键词 变形 反变换 双线性插值 增量计算
一、引言
在图像处理的应用中,一般图像所覆盖区域边界是规则的矩形。为获得某种特殊效果, 常常需要将图像变换到具有任意不规则边界的二维区域或映像到三维空间曲面,简单地说? 是所谓的图像变形技术。本文重点讨论了其中的任意二维多边形区域的变形问题,并针对色图像给出一个切实可行的算法。而三维情况下,则属于计算机图形学中的纹理贴面范围.一般均会牵涉到立体图形消隐、明暗处理等技术,比较复杂,本文未作深入探讨。
二、变换原理
本文所要讨论的二维变形问题可以形式化说明如下:图像定义在矩形区域ABCD之上,源多边形区域P=p1p2…pnp1(Pi为顶点,i=1,2,…n)完全包含在ABCD内;变形就是通过变换f,将P上的图像变换到