小白不用学修图,AI 帮你修照片
AI 修图实测 · 2026-09
38 张西安碑林照片
每张都调出了不一样的颜色
每次拍完照,修图比拍照还累。一张一张试 LUT,试完再微调,微调完还要前后对比看效果,来回折腾大半天。
后来我在学习强国里刷到一期调色教学视频,才照着把这套流程拆开想了想——步骤既然是固定的,为什么不能让机器照着做?
于是有了这个工具,拿 8 月西安自驾游的照片实跑了一遍。
38 张 · 零覆盖原片 · 每张按自己的主体和情绪走了不同的调色路径
大家好,我是六六爸比
一个 85 后科技 IT 爱好者 / AI Agent 深度玩家 / GitHub Trending 追踪员。
关注公众号「丁卯生人」,每月发干货 — AI 工具 · GitHub 周榜 · 装修避坑 · 法考笔记。
这就是每次旅行回来最真实的状态:照片导出来,先得按地点、按时间分文件夹,几十个文件夹密密麻麻点进去,全是照片;分完类,还得一张一张去调色。

图1 · 每次旅行回来,导出的照片就变成这样——按地点、按时间分文件夹,几十个文件夹密密麻麻点进去,全是照片

图2 · 这次碑林的 38 张,文件名全是 P104xxxx 相机流水号,不打开一张张看,根本不知道拍了什么
先别急着听原理,直接看效果。下面这张碑林拓片,左边是没修的原片,右边是 AI 修完的:

图3 · 拓片特写:原片 / AI 修完。一张照片,一张图
01
同一批照片,不该用同一套参数
我最初的版本是“按光质分 4 档”——阴天一档、室内一档、逆光一档。
实跑 38 张,结果 27 张落进同一个 daylight 档,走完全相同的参数。
这在专业修图里是明确不合格的。整张照片用一个全局滑块,只会把画面拉平。正确的做法是先认出画面里有几类东西,各当一张小图来修。
所以我重做了一遍内核,改成三步:
① 先校正 → 定黑白场、把偏色去掉
② 再分区 → 天空 / 绿植 / 石材 / 主体,五块各调各的
③ 最后调色 → 定基调、造立体感、选 LUT
铁律是永远先校正后调色。在带偏色的图上做创意调色,等于把误差叠加。
02
LUT 是什么?为什么不能自己挑
LUT 你可以理解成滤镜配方——一张对照表,告诉电脑“这个颜色进去,该变成什么颜色出去”。
难的不是套 LUT,是该套哪一个。24 个 LUT 挨个试?试到天亮也定不下来。
这块碑林拓片套的是 Matinee,强度 0.26。这是 AI 挑的,不是我挑的——它认出这是“冷灰石材”材质,按规则表配了 Matinee。石材本身是中性灰,套暖色调会让石头发脏,所以要挑压暗部、提层次的那个。

图4 · 冷灰石材只套 AI 选中的 Matinee@0.26,不摆别的一起比
03
人像要单独一套规矩
后来我又拍了一组照片,里面有人脸,才发现前面的规矩用在人身上是错的。
规矩一:给人挑 LUT,不能只看“暖不暖、反差大不大”
我原来给 24 个 LUT 排座次,就两个指标:暖色偏移和对比度变化。
这在拍建筑、拍石头时没问题。放到人脸上,它答的是错的问题——建筑物的“暖一点”和皮肤的“暖一点”根本不是一回事。
所以我另做了一件事:量脸。先让程序找出照片里的脸,在脸上按肤色取样,然后逐个套 24 个 LUT,看肤色偏了多少度。
结果挺打脸。24 个 LUT 按肤色漂移排下来,断层很清楚:
LUT
肤色主色漂移
结论
Kodak Kodachrome 200
4.6°
断层第一,第二名 13.7°,差 3 倍
Lowsun
13.7°
第二
Kodak Portra 160 ++
27.8°
胶片人像本命的味道
Kodak Matinee
62.7°
← 拍石头很好,套人脸是灾难
Fieldnote
80.5°
← 兜底用的,管建筑可以,管脸不行
NightMarket
90.3°
← 24 个里最伤肤色
拍石碑、古建、美食的那三个 LUT,恰恰是伤肤色最狠的三个。 因为它们的“暖”是为红墙和暖光调的,不是为皮肤调的。
规矩二:有脸,材质规则就得让位
我还犯过一个更蠢的错。
我原来的规则表是“看画面主体材质来挑 LUT”——画面里是冷灰石材就配 Matinee,是暖红木就配 Heartland。这条规矩对建筑完全正确。
但南阳卧龙岗那张,人站在红木牌匾前面。按规矩,系统认出的主体材质是“暖红木”,于是配了 Heartland——人脸规则根本没轮到上场。我拿 5 种可能的材质挨个试了一遍,5 次全被材质规则截胡。
根子不在优先级写错了,是判据选错了层。人站在红墙前,“主体材质”当然是红墙,可这张照片的主角是人。
修法是加一条:先检测有没有脸。有脸就是人像,其他规矩一律让位。
这里也有个技术选择值得说一句:判断“有没有脸”我没让 AI 模型去猜,而是用普通的人脸检测程序。 因为“画面主体是什么”需要理解力,可以交给模型;“画面里有没有脸”是客观事实,程序一秒就算完了,还不会看走眼。
改完之后,同一张照片:改之前拿 Heartland,改之后拿 Kodak Kodachrome 200。

图5 · 人像只套 Kodak Kodachrome 200@0.22,24 个里肤色最不跑偏的(实测 4.6°)
规矩三:人像不是 LUT 越浓越好
同一张脸,我把强度从 0.22 加到 0.35,肤色漂移从 4.6° 涨到 25.3°,翻了 5 倍多。
所以人像的强度必须压低。我全部定在 0.22,比拍建筑的还低。
最后:AI 修不了逆光欠曝的脸
同一组里还有一张,人站在院子中间,逆光,脸整个落在阴影里。
我照样跑了一遍全流程。整张照片——树、路、衣服都提亮了,但那张脸基本没变。

图6 · 逆光欠曝:别的都提亮了,阴影里的脸修不动。这是物理限制不是工具问题
这不是工具不行。照片欠曝的时候,那些光线的细节压根就没存进文件。AI 再聪明,也变不出一个从来没被记录下来的信息。这是物理限制。
顺带说一句我踩过的坑:一开始我用人脸检测当判据,结果碑林的石刻文字和柱头雕花被当成了脸。扫了十几组参数也没能完全避开。所以我最后把这个检测当成“提示”而不是“结论”——宁可多认几个,也别漏掉真的人脸,因为认错了只是石碑换支颜色,漏了才是真把人脸调坏。
04
怎么跑
装好依赖,把照片丢进去,完事:
# 让 AI 认主体
python vlm_subject.py "D:\照片" --workers 5
# 智能分区调色
python seascape_grade.py "D:\照片" -o "D:\已修" -p smart --vlm -q 95
原片一个字节都不会动。跑之前先给每张原片录 SHA256 + 字节数 + 修改时间,跑完重新逐个比对:
ORIGINAL FILES VERIFIED : 38 files / 272,841,216 bytes
SHA256 + size + mtime all identical
三项全部一致。输出另存到新目录,命名是原图名加 (1):P1040762.JPG → P1040762(1).JPG。
环境:Python 3.11.9 / numpy 2.3.5 / Pillow 11.3.0 / OpenCV 4.13.0
速度:14 MP 的照片,含区域检测、去雾、调色、LUT,14.5 秒一张
用到的项目和地址
地址我都留成纯文本而不是超链接——公众号正文不支持外链,做成可点的反而复制不到。
项目
地址
许可
HaldCLUT-Cube-Files
github.com/scernst13/HaldCLUT-Cube-Files
CC0-1.0
lumix-original-looks
github.com/t0saki/lumix-original-looks
MIT
OpenCV
opencv.org
Apache-2.0
NumPy
numpy.org
BSD-3
Pillow
python-pillow.org
MIT-CMU
darktable 5.6.1
darktable.org
GPL-3.0
前两个是我全部 24 个 LUT 的来源,许可都能商用。pip install 都不用,下 .cube 文件丢进 resources/luts/ 就能跑。
darktable 我只用了它的 darktable-cli 做 RAW 转格式,色键本身没碰。
方法论从哪来
起点是学习强国的一期调色教学视频。 这套流程——先定黑白场、再分区域调、最后用 LUT 收尾——我是照着那期视频的思路拆出来的。视频讲的是人怎么一步步调,我做的只是把每一步写成代码,让机器照着跑。
05
两个“不报错但结果错”的坑
我踩的坑有个共同点:全都不报错。它们安静地输出一张“看起来挺正常”的图。
1. 先取像素再算,图像被打乱。 我为了提速,把分区处理改成只算遮罩里非零的那些像素。结果图糊了。因为取出来的像素在空间上是散乱的,对它们做模糊和膨胀,邻接关系全乱。去雾和细节这类空间局部量,必须在全图上算完再取像素。
2. 兜底规则吃掉了一切。 自动分档我一开始写成一串三元组,最后一条以为能兜底。它确实是 catch-all——把后面所有规则全吃掉了,38 张里 30 张被分错。改成判定函数之后,我补了一组回归测试把结果锁死。
所以每一步我都加了能验证的判据:LUT 优化前后逐像素比对、分档规则回归测试、原图录指纹复验。
调色这件事上,“看起来没问题”是最危险的信号。
最 后
写在最后
对 Lightroom 和 Photoshop 零基础的人来说,这个工具基本等于白送。
如果你也这样——照片拍得很爽,导出来一堆,调色这一步却卡住了:LUT 不会挑,参数不敢调,调完看不出到底变好还是变丑。
工具替你把这三件事全做了:你只要把照片丢进去,它自己认主体、自己选 LUT、自己定力度,剩下的不用管。
不会用 LR、不会用 PS,甚至说不清直方图长什么样,都不影响你用。
而这轮最值钱的,其实不是“照片变好看了”,而是把“什么时候该重、什么时候该轻”这个判断,从我的直觉变成了可执行、可复盘、可被你推翻的规则。
但这只是第一步
上面这些还远远不是全部。 现在能跑通的,只是“照片丢进去、出来能看”这一段,往下还有一堆没做的:
· 天空分割用的还是传统 CV(HSV + 画面位置先验),不是神经网络。遇到大片天空就得换上分割模型。
· 人脸检测精度不够。现在用的是传统级联检测,会在石雕和石刻文字上认错脸,正式版该换神经网络检测。
· 连拍一致性没做。同一场景连拍多张,现在各修各的,没做“这一组看起来像一套”的约束。
· 只吃 JPG / TIFF,RAW 还得先用别的工具转一道格式。
· 规则库现在 12 条,是碑林和卧龙岗这两批跑出来的。海边、街拍还得各自重新标一遍。
工具之所以敢交给零基础的你用,是因为上面那些判据替它兜了底。 但兜底不等于到顶——它是第一段路,后面还有很长。
数据来源:全部为本机实测。照片为 2026-08-11 西安碑林博物馆实拍 38 张
(佳能 EOS,4592×3064,272.8 MB),人像实测样本为南阳卧龙岗 5 张。
方法论起点为学习强国一期调色教学视频,理论印证为 2026-09-29 检索的
Lightroom Color Grading / Split Toning 公开资料。
LUT 许可:CC0-1.0 (HaldCLUT-Cube-Files) / MIT (lumix-original-looks),
均可商用。
如果这篇有用,,让更多在折腾修图的朋友看到。
⭐ 觉得有用?关注公众号「丁卯生人」
我把这套修图工具的完整代码和 24 个 LUT 的实测表都放在公号里了,想复现的可以对着抄。
— 六六爸比
① 2026-09-05 · 清华把一间教室,开源给了所有 AI:OpenMAIC 拆解
② 2026-08-20 · 当 Model 决定上限、Harness 决定下限:DeepSeek 正在重写 AI Agent 的规则
③ 2026-08-12 · AI 时代的旅行:5 个 SKILL.md 跨 WorkBuddy/Coze/Dify 复用
④ 2026-08-05 · FFmpeg 9.0 代号 Lei 正式发布
⑤ 2026-08-01 · Reasonix 1.x 正式版:0.x → 1.x 一年磨一剑
⑥ 2026-07-31 · Hermes Skill 官方榜单 · 2026.07 完整数据复盘
⑦ 2026-07-30 · OpenRouter 7 月复盘:4 平行宇宙 + 4 中国黑马
⑧ 2026-07-23 · Hermes 4 月模型榜:9 大发布速览