【问题标题】:I am looking for a mathematical equation to warp an image我正在寻找一个数学方程来扭曲图像
【发布时间】:2016-11-01 13:02:19
【问题描述】:

理论上,我知道要扭曲图像,源图像中的每个像素(x,y) 使用函数 f(即x'=f(x,y)y'=f(x,y))转换为(x', y')。但是我可以使用什么数学方程来代替函数f()

例如,我在一个网站上发现了以下用于扭曲图像的方法:

X' = X + [sin(aX) + cos(cY)] . d where a,b,c and d random values.

y'= the same above

我的问题:这样的等式从何而来?有没有系统的技术可以生成这样的方程,然后得到下面类似的扭曲图像?

另一个问题How to make a wave warp effect in shader?是问简单的波浪效果,和我的问题完全不一样。我的问题是关于如何建立表示其他复杂翘曲效应中的映射函数的方程,绝对不是像波动方程这样简单的方程,然后如何确定这些数学方程的系数“参数”(a、b、c 和 d) ,而不是反复试验

【问题讨论】:

  • 如果您寻求数学帮助,Math.SE 是一个更好的地方
  • 方程式来自你。也就是说,您编写转换点的函数。有一种系统化的技术可以生成方程。要获得与您链接的图像相似的东西,您必须进行试验。从事物的外观来看,它将像素向左和向下或向右和向下移动,具体取决于它们与它们所在图像的一半中心的水平距离。您必须尝试找到使用的确切公式。
  • 从根本上说,它们平滑地移动像素区域,也就是说,像素的位移分布在图像中连续变化,并且不会“跳跃” - 这会导致撕裂

标签: algorithm math image-processing computer-vision warp


【解决方案1】:

很遗憾地告诉你,没有秘密的方法可以做到这一点。您只需考虑您想要什么,然后将其转化为数学。

那个做波浪效果的人想要一个波浪效果,把它制定成一个函数,然后用它转换图像。

当然,您将在这里和那里应用相同的技术,并从一些带有参数的标准积木构建这些转换。

也许这会有所帮助(谷歌是你的朋友) http://groups.csail.mit.edu/graphics/classes/CompPhoto06/html/lecturenotes/14_WarpMorph_6.pdf 它是关于样条插值的类似效果,以保持平滑的图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多