Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

附录 A 命令速查

./paint

./paint setup              装/更新 harness (改完 code/ 必须重跑)
./paint check              31 项自检
./paint trace [图] [倍数]   临摹: 读画 + 落笔 + 判据, 默认 work/input/origin.png, 8x, 约 8 分钟
./paint replay <作品名>     统计作画日志 (落笔 / 写像素次数)
./paint probe [名字]        跑一个能力探针; 不带名字就列出全部
./paint landscape          参考作业: 风景, ~6s
./paint portrait           参考作业: 画师金字塔流程, ~12s
./paint list               列出成品
./paint archive <作品名>    把成品拷一份带时间戳的到 work/archive/
./paint clean              清掉历史归档
./paint gui <作业.py>       在真实桌面上看它画

环境变量

读画(trace_prepare.py):

变量默认说明
ART_SCALE8输出倍数
ART_STYLEpaintpaint / anime第 20 章
ART_DETAIL_T34细节笔的误差阈值,越大越少笔
ART_EXPAND0.6Flat 轮廓向外扩的像素
ART_SMOOTH0.8矢量化前标量场的高斯 σ
ART_EPS0.30RDP 容差
ART_LINE_THR999(关)暗脊线稿阈值,paint 风格用

落笔(job_trace.py):

变量说明
ART_SEG读画产物目录(含 plan.json
ART_SCALE覆盖 plan.jsonscale
ART_OUT成品根目录

判据(gauge.py):

变量说明
ART_SRC源图路径,做锚点

直接跑两步

ART_STYLE=anime python3 code/trace_prepare.py work/input/origin.png work/cache/origin-anime
./paint setup
ART_SEG=work/cache/origin-anime ART_SCALE=8 ART_OUT=work/output ./krita-bot/run_job.sh krita-bot/job_trace.py
python3 code/gauge.py work/output/trace-origin-anime/final.png

自检与探针

python3 code/contour.py                    # 矢量化自检 (v4 vs v5 同题)
python3 code/cel.py                        # 色阶分层在 origin 上跑一遍
./paint probe                              # 列出所有探针和它们各自要回答的问题
./paint probe filtermask                   # 跑一个 (等价于下面那条手写的)
ART_OUT=/tmp/x ./krita-bot/run_job.sh probes/probe_xxx.py 2>&1 | grep -aE '^\[|/s|判读'

探针不需要装进 krita-bot/:它们靠 sys.path.insert(0, expanduser("~")) 从 harness 的 HOME 里 import canvas,路径传绝对的就行。改了 code/ 才要重跑 ./paint setup

探针清单在附录 C

后台跑长作业

./krita-bot/run_job.sh krita-bot/job_trace.py > job.log 2>&1 &
grep -aE "\[paint\]|\[stage\]|JOB (OK|FAIL)|Traceback|Segmentation" job.log | tail

会话结束会杀掉后台进程,留下 krita 僵尸:pkill -f "krita --nosplash" 再重跑。