docs: 第二十九轮心跳(渲染差异=灰度 CDF 75% pivot,已修复并同刻实测对齐;csdk 同步状态)

This commit is contained in:
ZXCLI
2026-10-06 04:07:11 +08:00
parent 7e1db78676
commit d66d253f9f
+38
View File
@@ -489,6 +489,44 @@
"未连接"分支显示,正常出图时用户看不到任何反馈)。
- [x] 单测 66 → **76 项全绿**;debug + release(R8) 双构建通过;APK 已更新。
## 用户反馈修复 第二十九轮(2026-10-06,渲染差异定位并修复:灰度 CDF 的 75% pivot)
用户:"我说的就是渲染的差异……官方的对比度似乎更高,而且画面里面的条纹看起来也更少。"
### 1) 逐一排除(都有反编译或实测证据)
- **窗口**:Android `GrayEnlarge`/`CalContrastOffsetedAutoEnlargeRange` 与我们的 `statsWindow`
在对比度 c=0 时逐字节一致(官方 App 也只传 `setAutoEnlarge(enlargeRange=8)`);
- **灰度 LUT/CDF 算法**:Android `HistDeRedundance` 与我们 `lutRebuild` 逐行一致
(1024 桶直方图、双向 CDF、`total>>12`、`0x100/0x200` 步进);
- **调色板**:官方照片与我们照片都完美拟合 2 号铁虹(中位色差 0.67 / 1.00);
`VendorPalettes` 已记录 case 2 与我们的表 256/256 一致(§7 的"调色板不同"是裁剪污染误判,已纠正);
- **条纹本身**:我们手机 NUC 的 column-HF 7.20(0.63%)vs 官方 7.81(0.63%),渲染平坦块列抖动
更低(0.34–0.94 vs 0.81–1.44)→ 数据/降噪不差于官方。
### 2) 定案:**`cdfPivot75`(SDK 里由 `+0x60` 参数控制的 CDF 75% 分位支路)**
测量方法:关闭两边对话框后同刻各截实时画面,用**调色板反解灰度**(99%+ 像素可唯一反解,
排除显示路径/色域影响):
| | p25 | p50 | p75 | mean |
|---|---|---|---|---|
| 官方 App | 48 | **61** | 129 | 82.2 |
| 我们(pivot 开,原状) | 23 | **33** | 82 | 60.2 |
| 我们(pivot 关) | 31–34 | **50–54** | 132–135 | **79.8–81.2** ✔ |
→ 关掉 pivot 后与官方分布重合。修复:`IrSession` 构造实时管线时显式
`cdfPivot75 = false`(类默认仍为 true,C 参考的黄金测试不受影响)。已装机复验(视觉一致)。
这同时解释"条纹更少"的观感:偏暗/低对比时噪声与残留 FPN 更显眼。
### 3) csdk 同步
- 工具已改为 `cdf_pivot_75 = 0`(与官方手机 App 一致,库保留开关;`render_offline.c`
生成黄金夹具仍用 1);
- 温度链移植(放射学分支)规格已写进 `csdk/README.md`,**待有 C 编译器时落地**
(本机当前 gcc/clang 均缺失,无法编译验证)。
## 用户反馈修复 第二十八轮(2026-10-06,温度链进 App + 真机对比:渲染差异收敛到 LUT-CDF)
用户:把温度修改同步进 App、真机测试没问题后改入 csdk;用官方 App 拍照对比,有差异就