什么是“可计算图像”?广义向量图像的理论基础初探

如果说像素图像是“存储”,那么可计算图像则是“生成”——在信息冗余的时代,图像的“可计算性”才是真正高效的信息结构。

一、位图与向量图:图像的两种范式

传统图像采用位图表示,每个像素 I[x, y] 是颜色数据。但这种方式存在信息冗余,且难以缩放。相比之下,矢量图使用几何图元与函数表示图像,具有结构清晰、可缩放、易修改等优点。

SVG 示例:

1
2
3
<svg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<circle cx="60" cy="60" r="50" stroke="black" stroke-width="3" fill="tomato" />
</svg>

渲染如下:

二、可计算图像的数学基础

图像是函数

我们可以将图像视为函数:

I : ℝ2 → ℝ3,  I(x, y) = (r, g, b)

即图像是二维平面上到 RGB 空间的映射。若该函数可由程序计算,则称之为可计算图像(Computable Image)。

可计算函数

函数 I(x, y) 是可计算的,当存在有限程序可在任意精度下逼近 I(x, y)。这就为构建图像的“生成逻辑”提供了理论依据。

三、表示范式

  1. 参数图像(SVG、TikZ)

图像是参数的组合,如:

1
\draw[blue, thick] (0,0) circle (1cm);
  1. 过程图像(Procedural)

图像通过代码生成,如:

1
2
def image(x, y):
return (sin(x * 3.14), x % 1, y % 1)
  1. 生成模型(GAN)

I(z) = Decoder(z)

潜变量生成图像,是可计算图像的一种神经建模形式。

四、博客中的实际应用

使用 Mermaid 插图

1
2
3
4
5
6
graph TD;
A[Pixel 图像] -->|存储密集| B[位图]
A -->|生成函数| C[向量图]
C --> D[SVG]
C --> E[Procedural]
C --> F[GAN]

使用 MathJax 显示公式

示例公式:

$$I(x, y) = \begin{cases} \text{红色}, & x^2 + y^2 < 1 \ \text{蓝色}, & \text{否则} \end{cases}$$

五、总结

“可计算图像”代表了图像表示从静态数据向函数式建模的范式转变。它不仅能节省空间、提高显示效果,更为自动化内容生成和科学可视化提供坚实基础。

未来图像的更多可能性,将由程序来定义。