---
title: "用智能手机长焦镜头替代远心光学系统测量锥度的记录"
description: "买不起远心镜头。于是用手边智能手机的长焦相机，通过拉开距离来抑制透视误差、逼近平行投影，实测了锥度角。"
pubDate: 2026-07-10
tags: ["measurement", "optics", "smartphone", "manufacturing"]
series: "constella-measurement"
related: ["taper-measurement-lidar-scan-attempt-that-failed", "stable-ts-faster-whisper-local-transcription-comparison"]
graphLabel: "智能手机长焦锥度测量"
graphWeight: 1
ogImage: "/blog/smartphone-telephoto-taper-measurement/og.jpg"
lang: zh
---

## 课题

想用光学手段测量锥度角这类角度尺寸，本来需要的是平行投影，也就是远心光学系统。用普通的中心投影镜头，物体沿景深方向的位置不同，表观角度就会偏移。但工业用远心镜头价格不菲，不是每次验证都能置办的东西。手边有的，只有平时在用的智能手机。

只想看结论的话，请跳转到[总结](#总结)。

在这之前还有一段前情：最先尝试用 3D 扫描测量同一个锥度失败了，[另文记录](/zh/blog/taper-measurement-lidar-scan-attempt-that-failed/)。

## 着眼

用长焦镜头拉开拍摄距离，从镜头中心看出去的张角会变小，即使是中心投影，看起来也会接近平行投影。当拍摄距离 $L$ 远大于物体沿景深方向的偏移 $\Delta z$ 时，透视引起的偏差角

$$
\theta_{\text{error}} \approx \frac{\Delta z}{L}
$$

按这一一次近似不断变小。只要挣到足够的 $L$，$\theta_{\text{error}}$ 就会收缩。用 iPhone 的长焦相机（3 倍光学，裁切后相当于 15 倍），凭手头的设备就能朝这个方向推进。思路是用「距离」来替代远心镜头所能提供的一部分效果。

## 方法

实际的设置是：用 iPhone 长焦相机（3 倍光学、裁切至约 15 倍）对目标拍摄多张照片，再用自制的手动辅助工具（Taper Manual Assist）在锥面的两条棱边上各手动指定两个点（A1/A2、B1/B2），由此计算张角。在相同条件下拍摄多张（4 张），以确认重复性。

![Taper Manual Assist 的测量界面。在立于窗边的锥形零件剪影上指定 A1/A2、B1/B2 四点和棱边线，右侧面板并列显示手动测量与辅助测量的张角和锥度比](/blog/smartphone-telephoto-taper-measurement/taper-manual-assist.webp)

该辅助工具已作为单文件开源项目（MIT）公开。

<a class="repo-card" href="https://github.com/bakemocho/taper-manual-assist" target="_blank" rel="noopener noreferrer">
  <span class="repo-card-icon repo-card-icon--repo" aria-hidden="true"></span>
  <span class="repo-card-body">
    <span class="repo-card-title">bakemocho/taper-manual-assist</span>
    <span class="repo-card-desc">单文件、纯浏览器运行的锥度角手动测量工具，附带可选的边缘检测辅助功能。</span>
    <span class="repo-card-meta">github.com · MIT License</span>
  </span>
</a>

拍摄地点是自家的单间公寓。目标垂直立在窗边书桌的近前侧，从房间中央附近手持手机拍摄。拍摄距离约 2 米。需要说明的是，这一拍摄距离和固定方式是凭记忆的粗略估计，没有当时的测量记录或 EXIF 佐证。未使用三脚架等固定工具，双手持机。选择 iPhone 长焦相机中倍率最高的镜头，变焦到目标充满整个画面为止拍摄。这一操作对应于「3 倍光学 + 裁切至 15 倍」的设置。

另外，这一测量**不需要绝对尺度标定**（与已知尺寸对应）。张角是在像素坐标上作为两条直线的夹角计算的，锥度比 $\Delta D / L = 2 \tan(\theta / 2)$ 也是仅由角度导出的无量纲量，因此图像上 1 个像素对应多少毫米对结果没有影响。前提条件是像素为正方形，以及锥面的两条棱边大致位于与光轴垂直的同一平面内；这些前提在测量时已作为测量条件记录在导出数据中。

## 结果

相同条件下 4 次拍摄的汇总如下。

- 4 次张角平均值：**11.543895 deg**（最小 11.454754 deg，最大 11.745134 deg，样本标准差 0.135080 deg）
- 4 次锥度比（$\Delta D / L$）平均值：**0.202164**（换算为 1:N 平均 1:4.947）
- 取中位数附近 3 次构成的聚类：张角平均 **11.476816 deg**，标准差 **0.019280 deg**，1:N 换算 **1:4.976**
- 4 次中有 1 次张角为 11.745134 deg，偏离聚类，作为重复性警告处理（不无条件计入平均）

另外，使用手动辅助 JSON 导出 4 次数据的复测中，稳定核心 2 点的平均值为张角 **11.421380 deg**、比 **0.200003**、1:N 换算 **1:4.999915**（极其接近 1:5）。不过该复测同样是从 4 点中提取 2 点作为「稳定核心」，其余 2 点分别作为偏高、偏低的重复性警告单独记录。

各次实测均给出接近公称 1:5 锥度（张角 11.421186 deg、比 0.2）的数值。我认为诚实的呈现方式不是给出单一的决定性数字，而是作为多次拍摄的离散来展示。

## 验算

利用公开的镜头规格和拍摄条件，可以事后验证这次测量为何能够成立。

**透视误差的估算**。把 $L = 2000\,\text{mm}$ 代入「着眼」一节的 $\theta_{\text{error}} \approx \Delta z / L$：棱边平面偏移 $\Delta z = 2\,\text{mm}$ 时为 0.057 deg，即使 $5\,\text{mm}$ 也只有 0.143 deg。只要目标立得竖直、平面对齐在几毫米以内，透视误差就不超过实测离散（0.135 deg）的量级。

**距离的收益**。同样的 $\Delta z = 2\,\text{mm}$，如果用广角镜头近距离拍摄（$L = 300\,\text{mm}$），误差是 0.382 deg。退到 2 米，透视误差缩小约 7 倍。「用长焦挣距离」的收益正是这个比值。

**离散的来源**。张角由两条约 377 px 长的线段方向之差算出，手动点指定抖动 $\sigma_{\text{px}}$ 会使张角波动 $2\sigma_{\text{px}} / L_{\text{line}}$ rad：$\sigma_{\text{px}} = 0.5\,\text{px}$ 时为 0.15 deg，$1\,\text{px}$ 时为 0.30 deg。实测的 4 次标准差 0.135 deg 恰好可以用约半个像素的指定抖动解释。也就是说，这一测量中误差的主导因素不是光学系统，而是手动点指定的像素精度。棱边拟合辅助之所以有效，原因正在于此。

**景深与衍射**。拍摄使用 iPhone 15 Pro 的长焦相机，公称 77 mm 等效、f/2.8（实际焦距约 9 mm，像素间距约 1.1 µm）。即使把容许弥散圆严格取为 2 个像素，2 米处的景深也有约 1.7~2.4 米的范围，目标几毫米的进深绰绰有余。衍射的 Airy 直径 $2.44 \lambda N \approx 3.8\,\text{µm}$（$\lambda = 550\,\text{nm}$）相当于 3~4 个像素，棱边会有几个像素的模糊，但棱边位置仍可亚像素读取，与上面 0.5 px 的精度并不矛盾。另外，「15 倍等效」中光学只占 3 倍，其余是裁切。裁切只是截取视角，不改变角分辨率；决定分辨率的是像素间距和上述模糊。

## 局限

这不是真正的远心测量。它只是用中心投影镜头、靠拉开距离把透视误差压到实用上可以忽略的水平的伪平行投影。手动辅助工具的棱边点指定，也只是对投影后 2D 图像上的角度读数，而不是对照 CAD 数据或金属加工校准夹具的测量。因此，这一方法适合「买不起远心镜头时的筛查」，不适合公差最终判定或出厂检验这类需要计量级精度的场合。

## 总结

「没有测量仪器」不构成放弃测量的理由。即使没有远心镜头这样的专用设备，回到光学的基本原理，用长焦挣距离，再用手边的手机和自制的小辅助工具向平行投影逼近，就能以够用的精度对锥度角做筛查。这是诚明堂平时践行的「理解原理、用手边之物替代专用设备」设计思路在测量领域的一个实例。

这样使用智能手机并非一时的奇技淫巧。Apple 自己就在 Apple TV 的 Color Balance 功能中，把 iPhone 的 True Depth 传感器和环境光传感器当作「测量电视屏幕实际发光」的测量仪器来用。厂商亲自把这台在产线上逐一校准过传感器的手机，转用为光学测量仪器。

<div class="repo-card-row">

<a class="repo-card" href="https://appleinsider.com/articles/21/04/24/how-to-color-balance-your-apple-tv-with-your-iphone" target="_blank" rel="noopener noreferrer">
  <span class="repo-card-icon repo-card-icon--article" aria-hidden="true"></span>
  <span class="repo-card-body">
    <span class="repo-card-title">AppleInsider</span>
    <span class="repo-card-desc">说明 iPhone 的 TrueDepth 摄像头如何校准 Apple TV 视频输出的操作指南(2021)。</span>
    <span class="repo-card-meta">appleinsider.com · How-to</span>
  </span>
</a>

<a class="repo-card" href="https://www.youtube.com/watch?v=q2kf4vCzbfA" target="_blank" rel="noopener noreferrer">
  <span class="repo-card-icon repo-card-icon--video" aria-hidden="true"></span>
  <span class="repo-card-body">
    <span class="repo-card-title">HDTVTest (Vincent Teoh)</span>
    <span class="repo-card-desc">专业 AV 校色师的实测评测，在三台电视上比较校准前后的结果。</span>
    <span class="repo-card-meta">youtube.com · 实测评测</span>
  </span>
</a>

<a class="repo-card" href="https://patents.google.com/patent/US11443716B2/en" target="_blank" rel="noopener noreferrer">
  <span class="repo-card-icon repo-card-icon--patent" aria-hidden="true"></span>
  <span class="repo-card-body">
    <span class="repo-card-title">US11443716B2</span>
    <span class="repo-card-desc">Apple 的相关专利，展示用光传感器校准显示设备的设计思路(未直接提及 Apple TV/Color Balance，仅供参考)。</span>
    <span class="repo-card-meta">patents.google.com · Apple Inc</span>
  </span>
</a>

</div>

再往前追溯，学生时代参加 CanSat 大赛（用易拉罐大小的模拟卫星竞技的比赛）时，就见过别的学校直接把 Android 手机装上机体当控制计算机。把整套传感器和高性能处理器紧凑而廉价地集成在一起的工具，别无他选。这次的锥度测量不过是其应用之一，沿着这条路线想尝试的事情还有很多。
