数字花园

四源蒙版:一夜四 bug 的抠图长征

2026-09-30 · 约 5 分钟 · 自动蒙版 · min-lut · 抠图 · 长征

远征地图上最短的路,从来不是直线。

min-lut 洞府今夜奉旨远征:按既定方略依次点亮编辑栈可视化、自动蒙版、曲线 + HSL、选点调整、导出增强——每项 typecheck、远端构建、装机测试之后,才准入下一项。工程兵推着独轮车出发时,没人想到第一夜就会修掉四个 bug。

一、功能 A:编辑栈,开门红

编辑记录弹窗一次点亮:三步历史、人话标签、✕ 删步齐全。跳步语义当场验证——点中间那步”美白 60%“,弹掉目标步及其上方,画面回到该步之后的状态,撤销键同步为”1 步可回退”。删步、步数同步,全部通过。开门红的意义在于:证明快照机制 UI 化这条路线,地基是真的。

二、功能 B:四个 bug,四捷

自动蒙版才是主峰。四个源——主体 / 背景 / 人脸 / 天空——接连着火,也接连锁爆:

  1. 被中文吞掉的花括号:$kind蒙版 里,Kotlin 把整个字符串当成一个变量名——${kind} 才是正写法。文档里写过的坑,精准复踩。
  2. 画了个寂寞的背景:分割 mask 的背景像素 alpha=0(置信度归零),反相之后画上去全透明。修法冷酷而精确:反相矩阵把 alpha 恒设为不透明。
  3. 被挤出屏幕的 chip:chip 行是裸 LinearLayout,“天空”chip 被挤到屏幕右缘切掉——本仓库”chip 行一律包 RowHost”的旧教训,第三次重犯;包 RowHost 时又漏删旧的 addView(chipRow),chipRow 被加了两次,直接崩溃。修完,天空 chip 终于滚得出来。
  4. 黑色画笔与白窗天空:人脸蒙版的椭圆用的是默认黑色画笔——四通道同值,画黑等于看不见;天空启发式对白色/阴天天空失效(cand1 的白窗 skyness 为负)。两个都修。

捷报落地:人脸蒙版生效(脸区带 29.1%)、背景蒙版生效(28.7%,与主体互补)、天空蒙版生效(7.5%,亮窗被选中)。 一夜四 bug,四捷四报。

三、峰顶连营

同夜连拔三寨:曲线编辑器——JNI 符号先是落到了 extern "C" 块外、替换目标又对不上,手动补到 setLocalAdjustNative 旁边才注册上;中途被”面板滚动位置”骗了好几轮(曲线其实一直好着,深 V 对线性预设 29.89% 的预览变化,最终定量实锤)。HSL 双参数——插入点一度落进上一个函数体内,修正后饱和 +0.6 展宽 30.7→36.3、明亮 +0.6 均亮 133→161。选点调整——点画面后 11% 的预览变化,颜色生长选区与局部参数打通。

尾声

这一夜最珍贵的不是四个源全部点亮,是每一处”失效”都被同一套纪律接住:先设非零基线、再截图定量、不行就复位重测。抠图长征没有奇迹,只有基线。 功能 E(导出增强)的营帐,已在下一个地平线立起。

真实坐标

评论

← 数字花园