能否计算出一个二维图像的数学函数?

3
问题基本上已经说清楚了。我想补充一下,假设我有一张图像,一张照片,我希望计算它的数学函数,这样当我输入x和y像素值时,它会返回一个向量,其中包含该x、y点处R、G、B值。因此,我可以使用for循环只通过那个函数构建整个图像。我不是在这里问整个解决方案或算法,而只是询问是否可能,应该采取什么方向来做到这一点。相关论文的参考将非常好。
谢谢 Azmuh

5
这个图像已经是一个函数;它将 {x, y} 映射到 {r, g, b} - Oliver Charlesworth
3
看看分形图像压缩。 - Lasse V. Karlsen
我知道图像本身就是一个函数,但你能用数学表达式来表示它吗? - azmuhak
1
@azmuhak:例如,可以找到一个n阶2D多项式,它可以插值所有像素值。但我不确定是否有很多这样的点... - Oliver Charlesworth
2个回答

4
是的,这是完全可能的。基本上,如果您选择一些点,总会有(无限多个)光滑的显式函数(即漂亮的函数),其在点上的值恰好是您选择的值。
例如,您可以查看http://en.wikipedia.org/wiki/Lagrange_polynomialhttp://en.wikipedia.org/wiki/Trigonometric_interpolation。它们是计算通过您拥有的数据点的显式函数的两种不同方法。因此,您可以将这些方法应用于图像,将其视为一组数据点,并分别应用于R、G和B。
最终,您会得到一个简单的显式函数(多项式或三角级数,取决于您选择的内容),并且您可以在需要的地方计算它的值。
然而,请注意,我绝对不建议使用这些方法来有效地检索数据。实际上,您获得的函数绝对没有经过优化(对于n×m图像,每种颜色的度数为nm-1,系数非常高),并且在原始点之间的值将非常大(请查找Runge现象)。

3
一般情况下这是不可能的... 想象一下一个由每个像素随机值生成的图像。你找不到一个数学表达式,可以根据其2D坐标给出像素值。
现在,对于使用函数生成的某些图像可能是可能的。在这种情况下,它不是图像处理特定的问题,而是从一些函数点中获取函数(在您的情况下,您拥有所有点)的问题。这与在Excel中跟踪图形时从一组点外推曲线完全相同。您拥有的点越多,您得到的函数就越精确。
寻找关于回归分析的信息。我帮不上太多忙,但有一些算法存在。

我认为对于那些仅仅是重复图案的图片,我们可以通过几何或三角学来找出它们的功能。但对于非图案的图片则不可能。 - azmuhak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接