---
title: "编码孔径相机互动实验｜Sandbox Physics"
description: "不用镜头，只用一块带图案的掩模，相机怎样成像？场景里每一点都在探测器上投下一个错开的掩模阴影，记录到的是所有阴影的叠加。"
canonical_url: "https://sandboxphysics.com/zh/labs/coded-aperture-camera/"
language: "zh-CN"
page_type: "lab"
alternate_languages:
  en: "https://sandboxphysics.com/labs/coded-aperture-camera/"
last_modified: "2026-10-27"
---

光学 069 · 衍射、Fourier 光学与计算成像

# 编码孔径相机

**不用镜头，只用一块带图案的掩模，相机怎样成像？** 场景里每一点都在探测器上投下一个错开的掩模阴影，记录到的是所有阴影的叠加。拿配套的解码图样和它做相关，例如 MURA 掩模对应的解码器，就能把这些阴影重新拆成场景图像。噪声和掩模有限的边缘会留下伪影。

从相互重叠的阴影里解码出天空。掩模有具体的开孔，计数服从 Poisson 统计；可以看到 MURA 的局限，以及有限掩模边缘造成的伪影。

> 交互仿真：在浏览器中打开本页，即可调整参数并运行模型。

光源理想、非相干，位于远场；阴影按整数网格平移，掩模方格与探测器像素一一匹配。计数是合成的，背景已标定。不考虑衍射和穿透掩模，也不使用真实望远镜数据。

物理教程

## 检验编码孔径相机的物理过程

**背景** 探测器记录不了负的掩模权重。开孔透光，闭格吸光，各个非相干光源的贡献直接相加：$D_i\sim\operatorname{Poisson}\!\left(E\sum_q H_{iq}f_q+b\right)$。记录可以选无噪声的期望值，也可以选固定随机种子的 Poisson 计数。带正负号的解码器只在采集完成后才用上。

**为什么值得理解** 不用镜头，只用一块带图案的掩模，相机怎样成像？

先抓重点

- **核心问题**: 不用镜头，只用一块带图案的掩模，相机怎样成像？
- **一句话直觉**: 对完整的 13 乘 13 MURA 周期，掩模和它的专用解码器满足 $A\star G=K\delta,\qquad K=84$。实体掩模板一旦被截短，周期模型就不成立。原点修正不能省，因为普通自相关并不是完美的单峰。

### 核心数学模型

#### 光线几何与真实掩模尺寸

$$
\begin{aligned}\mathbf r_M&=\mathbf r_D-a\mathbf q\\
 \tan\boldsymbol\theta_{\rm ray}&=\frac{a\mathbf q}{d}\\
 N_D&=13,\quad N_M=25\text{ or }13\\
 a&=2\,\mathrm{mm}\end{aligned}
$$

探测图上，行号向下增加，列号向右增加。光线从掩模射向探测器，光源方向和入射光线的斜率方向相反。完整拼接覆盖所有采样平移，板外不会绕回。平移整数格时，像素和开孔面积正好对齐。

#### 非负的计数采集

$$
\begin{aligned}\mu_i&=E(H\mathbf f)_i+b\\
 D_i&\sim\operatorname{Poisson}(\mu_i)\\
 \mathbb E[D_i]&=\operatorname{Var}(D_i)=\mu_i\end{aligned}
$$

通量以单位光源在每个开放探测像素上的计数表示。背景均匀，事先标定，不用真值拟合。关掉噪声时，记录的是期望计数，不一定是整数。打开噪声时，用小均值的精确 Poisson 采样，均值大时把多次采样相加。

#### 解码记录下的阴影

$$
\begin{aligned}\widehat f_q&=\frac{\sum_i G_{i-q}(D_i-b)}{EK}\\
 G_{00}&=1,\quad G_{ij}=2A_{ij}-1\ (i,j)\ne(0,0)\end{aligned}
$$

MURA 加上特殊的原点修正，只有在完整周期下才给出单峰点响应。其他掩模用零均值的匹配相关，并归一到轴上峰值为一；这样会丢掉天空的平均亮度，旁瓣也会留下。这一点明确标出，不声称随机掩模能完美反演。

#### 按有限几何做岭重建

$$
\begin{aligned}\widehat{\mathbf f}&=\arg\min_{\mathbf f}\left\|H\mathbf f-\frac{\mathbf D-b}{E}\right\|^2+\lambda\|\mathbf f\|^2\\
 \lambda&=\rho\frac{\operatorname{tr}(H^TH)}{169}\end{aligned}
$$

共轭梯度法用实际的有限矩阵，只用采集到的数据。这是允许负值的岭最小二乘，没有非负先验，不是最优的 Poisson 似然，也不是真正的 Wiener 滤波。最多迭代八十步。正则化能压低噪声，也会让场景产生偏差。

### 常见难点

#### 开孔越多，图像就一定越好吗？

**容易误解** 阴影图越亮，重建就一定越清晰、信噪比越高。

**正确理解** 每个开孔也会放进其他光源的光子，它们的散粒噪声做减法也去不掉。掩模图案、背景、光源分布，以及有限几何是否建模正确，都会影响结果。计数多了，信息不一定跟着多。

### 动手实验

1. 01

   #### 场景 1：完整 MURA 阴影

   在答案图中拖动亮源。查看真实的开孔和探测器正面，看两个阴影怎样叠在同一块探测器上。

   **你会看到：** MURA 的 169 格中固定开 84 格，开口率不能随意调。开口率滑块只改变随机掩模的设计。

2. 02

   #### 场景 2：随机掩模与光子噪声

   保持曝光不变，在 MURA、随机掩模、阵列和单针孔之间切换。比较各自实际收集的计数，以及解码后点响应的旁瓣。

   **你会看到：** 改变间距时，实体探测器跟着移动。角度网格的步长变小，但整数格的阴影平移保持不变。

3. 03

   #### 场景 3：掩模边缘缺失

   去掉外圈拼接，把一个光源移到边缘。用同一份记录，比较周期解码和考虑真实几何的岭重建。再加入 Poisson 噪声，增大曝光。

   **你会看到：** 真实场景只用来给结果打分。相关解码和岭重建可能给出负值、正则化偏差或鬼影，原始记录却始终非负。

物理结论

阴影本身就是数据。用已知几何解码，比较各种掩模的计数和点响应，同时记住噪声、有限边缘和重建所依赖的假设。

波与光学 · 入门路径

## 从一条光线到干涉测量

从折射出发，找到光线模型失效的地方，再用干涉测量极小的距离。

[从这里开始 → **光学界面探索器** 转动入射角，观察反射与透射功率此消彼长；再切换到“临界角与全反射”场景。 观察 · 11 分钟](https://sandboxphysics.com/zh/labs/optical-boundary-explorer/)

1. [1 光学界面探索器](https://sandboxphysics.com/zh/labs/optical-boundary-explorer/)
2. [2 彩虹焦散观测站](https://sandboxphysics.com/zh/labs/rainbow-laboratory/)
3. [3 针孔相机](https://sandboxphysics.com/zh/labs/camera-obscura/)
4. [4 相干波合成器](https://sandboxphysics.com/zh/labs/coherent-wave-composer/)
5. [5 Young 双缝实验台](https://sandboxphysics.com/zh/labs/young-double-slit-bench/)
6. [6 Michelson 精密测量台](https://sandboxphysics.com/zh/labs/michelson-precision-lab/)

[查看完整路径 →](https://sandboxphysics.com/zh/topics/waves-and-optics/#starter-path)
