---
title: "光场相机与显示器互动实验｜Sandbox Physics"
description: "一张光场照片能否任选近处或远处对焦，代价是什么？能，而且是拍完之后再选。"
canonical_url: "https://sandboxphysics.com/zh/labs/light-field-camera-display/"
language: "zh-CN"
page_type: "lab"
alternate_languages:
  en: "https://sandboxphysics.com/labs/light-field-camera-display/"
last_modified: "2026-10-27"
---

光学 040 · 成像、仪器与视觉系统

# 光场相机与显示器

**一张光场照片能否任选近处或远处对焦，代价是什么？** 能，而且是拍完之后再选。把各个视角的图像错开不同距离再平均，就能对准不同深度，不过每次只有一个深度清晰。代价是分辨率：传感器的像素要分给各个角度，记录的角度越多，每幅图分到的像素越少。

缓存的四维光线数据驱动移位平均重对焦、记录视点重放和子孔径拼图。不透光的目标、一个能看穿的孔和固定的采样总数，让遮挡、随深度倒数变化的视差，以及空间采样和角度采样之间的此消彼长都看得见。

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

采集用理想点孔径和几何重采样，不是商用全光相机，也不是柱状透镜显示器。重对焦只用采集到的光线，事后不重新追迹，也不额外加模糊滤镜。不模拟光学衍射、有限瞳孔积分和光子噪声。拼图经过重新排列，不是原始的微透镜照片。

物理教程

## 检验光场相机与显示器的物理过程

**背景** 普通照片把穿过孔径各处的光线加在一起。光场则把每条光线的位置和方向都记下来：$L=L(u,v,q_x,q_y)$。前两个坐标表示一个点孔径的位置，后两个是光线朝向场景的斜率。每个孔径位置都拍下一幅完整的视图。三维装置是一组理想的平行相机，并不是真实的微透镜相机。

**为什么值得理解** 一张光场照片能否任选近处或远处对焦，代价是什么？

先抓重点

- **核心问题**: 一张光场照片能否任选近处或远处对焦，代价是什么？
- **一句话直觉**: 重对焦的做法是：平移各个已记录视图，让来自所选深度的光线对齐，再把线性辐亮度平均：$I_D(s,t)=\frac{1}{N^2}\sum_{i,j}L\!\left(u_i,v_j,s-\frac{u_i}{D},t-\frac{v_j}{D}\right)$。改变对焦深度并不会采集新的光线。除非孔径跨度缩到零，一次平移不可能让近景和远景同时清晰。单个点孔径拍下的视图本身没有光学离焦，右侧重放的就是这样一幅视图。

### 核心数学模型

#### 光线路径、视差和遮挡

$$
x(Z)=u+q_x Z,\quad y(Z)=v+q_y Z,\quad q_x=\frac{X-u}{Z},\quad \Delta q_x=-\frac{\Delta u}{Z}
$$

孔径位于深度零处，朝场景方向深度为正。每条光线停在它碰到的第一个表面上，所以先遇到青色目标，再遇到金色目标。青色暗标记挡光，圆孔则让光线穿过去照到远处目标。孔径横向平移时，越近的点移动得越多。旋转总览视角并不等于选择已记录视图。

#### 为什么一个深度对齐，另一个深度散开

$$
s=\frac{X}{Z}+u\!\left(\frac{1}{D}-\frac{1}{Z}\right),\quad \Delta s=B_{\mathrm{span}}\left|\frac{1}{Z}-\frac{1}{D}\right|,\quad b=\frac{W\Delta s}{0.64}
$$

物体正好在对焦深度时，依赖孔径位置的那一项为零。在其他深度，各个孔径的贡献落在输出图的不同位置。读数以像素给出一个未被遮挡的点散开多宽，不含双线性插值宽度、裁切和遮挡，所以它不是实测的图像 PSF。孔径稀疏时，离焦的点会变成几个分开的重影，而不是一片平滑的模糊。只有一个视图或基线为零时，重对焦不会随深度带来任何变化。

#### 角度视图越多，空间像素越少

$$
W=\left\lfloor\frac{360}{N}\right\rfloor,\quad N_{uv}=N^2,\quad N_{xy}=W^2,\quad N_{\mathrm{used}}=(NW)^2\le360^2
$$

每个孔径方向上的视图越多，每个视图分到的空间像素就越少。视图数不能整除网格时，边缘会剩下少量像素不用，读数会把它们列出来。输出图沿用同一套空间网格，只是角度裁切更窄且固定，放大显示也不会多出细节。拼图把一幅幅完整的子孔径视图排在一起；原始全光图像则把每个微透镜下的各个角度放在一起，两种图不能互换。

#### 视图怎样采样和平均

$$
u_i=B\!\left(\frac{i+1/2}{N}-\frac12\right),\quad B_{\mathrm{span}}=B\frac{N-1}{N},\quad |q_x|,|q_y|\le0.65,\quad |s|,|t|\le0.32
$$

孔径取在方形口径各单元的中心。选择视图时会跳到最近的已记录列；网格为偶数时，取中心偏下的那一行。重对焦先在线性 RGB 中把每个视图做双线性空间重采样，再让所有孔径等权平均，最后统一编码为 sRGB。不给单张图增强对比度，也不额外加模糊核。辐亮度经过归一化，所以模型不预测曝光、孔径面积通量、噪声或非近轴照度。

### 常见难点

#### 重对焦不会凭空造出光线

**容易误解** 拍完再对焦，应该能找回全部分辨率，还能看穿前景里的任何东西。

**正确理解** 重对焦只是重新排列已经记录的光线。远处的点被部分挡住时，只有真正看得到它的孔径才提供数据；所有孔径都看不到的点，无论如何也恢复不了。平均可以让前景遮挡物变淡，却不会让不透光的材料变透明。多采一个角度，就要从固定的空间像素里再分走一份。

### 动手实验

1. 01

   #### 场景 1：对焦近景

   在近景和远景预设之间切换。清晰的青色标记让位给清晰的金色圆环，已记录视图卡和采集数据却保持不变。

   **你会看到：** 用位置和方向描述光场的思路来自 1996 年的论文；把子孔径视图移位再相加的重对焦方法由 2005 年的论文推导。这里的光线斜率按明确说明的物方坐标定义，没有照搬那篇论文的像方深度参数。

2. 02

   #### 场景 2：重对焦远景

   重放左视图和右视图，观察真实圆孔里露出的内容，以及视差怎样随深度变化。再把采集孔径边长调到零，两种效应都会消失。

   **你会看到：** 只有改变孔径尺寸、角度数或近景深度时才重新采集。调焦和视图重放都只是处理已存的样本；取景固定不变，前后画面才能直接比较。

3. 03

   #### 场景 3：密集角度，更少空间采样

   比较每轴一个、三个和九个视图。视图少时，离焦处出现分开的重影；视图多时，空间像素变粗。这是两种不同的缺陷。接着移动近景物体，再对焦到它的新深度。

   **你会看到：** 显示部分在普通屏幕上重放角度数据。它不模拟柱状透镜显示器，也不模拟微透镜处方，也没有拿真实相机做过实验验证。衍射以及对有限光瞳的积分都没有考虑。

物理结论

光场存下的是有限的一组光线。重对焦和视差都来自重新排列这些光线，多记录一个角度，就要少一些空间像素。

波与光学 · 入门路径

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

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

[从这里开始 → **光学界面探索器** 转动入射角，观察反射与透射功率此消彼长；再切换到“临界角与全反射”场景。 观察 · 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)
