尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
深度解析 srt-whiteboard-animation 的 contour-wipe 上色:阻力场与双频正弦波前沿算法
深度解析 srt-whiteboard-animation 的 contour-wipe 上色阻力场与双频正弦波前沿算法【免费下载链接】srt-whiteboard-animation将 SRT 字幕做成暖米黄纸张底的流式笔迹白板手绘动画 skillmask 分区遮罩编排 stream 连续笔迹ink→color。项目地址: https://gitcode.com/gh_mirrors/sr/srt-whiteboard-animationsrt-whiteboard-animation 是一个把 SRT 字幕变成暖米黄纸张底白板手绘动画的开源项目笔尖先沿线稿落墨ink再自动添彩color。其中最像人画的部分就是默认的contour-wipe轮廓扫描上色算法——颜色不是机械地涂满而是沿着线条蔓延。本文用通俗的方式拆解它的两个核心阻力场与双频正弦波揭示前沿并给出 3 个可调参数帮你把上色节奏调到满意。先看效果颜色如何顺着线流淌在整条白板动画流水线上每个区域分两段作画起笔段铺线稿添彩段还原原色。contour-wipe 就是添彩段的默认策略--color-fill默认值另一个备选brush是沿笔迹轨迹刷色。上图中可以看到颜色像潮水一样从画面上方漫下来遇到轮廓线会明显减速越过去后再加速——这正是阻力场在起作用。原始线稿输入如下16:9 手绘插图、大量留白核心机制一阻力场Resistance Field问题如果用一条平直的水平线从上往下擦出颜色轮廓上方的色块会整块跳出来非常机械。解法把线稿墨迹转换成一张 0~1 的阻力图颜色前沿到达阻力高的地方就被扣住几像素从而产生先卡在轮廓上、再缓慢越过的观感。阻力场的构建在 scripts/stream_render.py_build_resistance_field中共 5 步步骤做什么效果1. 墨线二值化原图自适应阈值得到墨迹像素找出所有轮廓位置2. 椭圆核膨胀按画面尺寸取 3~17px 结构元细线变粗形成阻挡带3. 高斯模糊半径 ≈ 短边/220硬边变渐变过渡自然4. 归一化除以峰值阻力统一映射到 [0, 1]5. 逐行向下传播resistance[row] max(自身, 上一行 × decay)每条轮廓向下方投出指数衰减阴影第 5 步是精髓衰减系数wipe_decay默认 0.86意味着轮廓正下方的阻力每行只剩约 86%半衰期约 4.6 行——所以卡住只发生在轮廓附近一小段距离内再往下颜色恢复匀速形成慢—快的自然节奏。整个阻力场是静态的与上色进度无关所以每个区域只算一次、全程复用性能开销可以忽略。核心机制二双频正弦波揭示前沿如果前沿是一条完美水平线扫描依然显得生硬。项目用一个双频正弦波把前沿变成水波起伏实现在 scripts/stream_render.py_build_wipe_wavewave[x] sin(x / wave_px1) 0.35 × sin(x / wave_px2 1.7) 其中 wave_px1 max(24, 宽/20)wave_px2 max(8, 宽/72)主波幅值 1.0周期约为画面宽度的 1/20 —— 大的波浪次波幅值 0.35 且带 1.7 弧度相位差周期约为宽度的 1/72 —— 叠加的细碎涟漪两个频率不可通约波形不会周期性重复前沿看起来就像水面被风吹出的不规则波纹而不是正弦摆拍。两者如何合成每帧的阈值公式在 scripts/render_stream_whiteboard.py_wash_contour中每一帧都计算一张全区域的阈值图threshold[y, x] lead wave[x] − resistance[y, x] × delay_px三个项各有分工lead总进度lead ease_in_out_sine(progress) × sweep − delay_px配合正弦缓动起止慢、中间快从画面上方一路扫到下方wave[x]横向波动让前沿左右上下起伏resistance × delay_px纵向扣减delay_px由区域高度 × 0.04 钳制在 12~52px阻力越大前沿被压得越低——颜色就在线条处停顿。某像素满足y ≤ threshold即被揭示把原图颜色写入共享画布。整图版实现见 scripts/stream_render.pywash_color_contour。笔尖的涂色感同样来自数学笔尖横向按wipe_blocks默认 18趟来回扫动每趟用同一个正弦缓动奇数趟反向纵坐标取当前列已揭示像素的最底部行——于是手部素材看起来真的在跟随色面边缘涂抹另一组示例中香蕉被大猴抢走的片段同样使用 contour-wipe 上色可以对照观察颜色越过轮廓时的减速效果3 个可调参数如何调出理想节奏contour-wipe 暴露了 3 个命令行参数定义见 scripts/stream_render.py参数默认值调大调小--wipe-decay0.86轮廓阴影更厚颜色在线条处黏得更久更快越过轮廓趋于平扫--wipe-delay-ratio0.04轮廓处扣减更多像素停顿感更强停顿变短节奏更急--wipe-blocks18笔尖来回趟数变多涂抹更细碎笔尖大幅横移接近挥扫单幕渲染时配合使用--color-fill contour-wipe为默认值参数说明见 scripts/render_stream_whiteboard.pyENV_PY scripts/render_stream_whiteboard.py 图片 标注.json 输出.mp4 assets/drawing-hand.png \ --color-fill contour-wipe --wipe-decay 0.9 --wipe-delay-ratio 0.05调参建议线条密集的场景如复杂插画--wipe-decay 0.9--wipe-delay-ratio 0.05让颜色在密集轮廓处多停留简约构图、希望节奏明快保持默认或--wipe-decay 0.8让扫描更利落。小结contour-wipe 用两个轻量数学构件低成本换来了人味儿阻力场膨胀→模糊→归一化→向下指数衰减让颜色前沿垂直方向上遇到轮廓会减速双频正弦波让前沿水平方向上水波起伏二者叠加进同一个阈值公式再配合 18 趟正弦缓动的笔尖扫动就得到颜色沿着线蔓延、手在跟着涂的白板动画效果。完整的标注格式、分镜流程与质量检查清单可继续阅读 README.md 和 SKILL.md示例素材在 examples/ 目录拿来对照算法效果最直观。【免费下载链接】srt-whiteboard-animation将 SRT 字幕做成暖米黄纸张底的流式笔迹白板手绘动画 skillmask 分区遮罩编排 stream 连续笔迹ink→color。项目地址: https://gitcode.com/gh_mirrors/sr/srt-whiteboard-animation创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

DeepSeek-OCR-2基准评测实战:如何在OmniDocBench v1.5上复现文档OCR性能

DeepSeek-OCR-2基准评测实战:如何在OmniDocBench v1.5上复现文档OCR性能

DeepSeek-OCR-2基准评测实战:如何在OmniDocBench v1.5上复现文档OCR性能 【免费下载链接】DeepSeek-OCR-2 Visual Causal Flow 项目地址: https://gitcode.com/gh_mirrors/de/DeepSeek-OCR-2 本文带你完整走一遍 DeepSeek-OCR-2 的基准评测流程:在…

📅 2026/9/28 20:43:04
AndroidStudio老项目 macOS运行BlueTooth蓝牙串口助手(Android+Studio源码).rar

AndroidStudio老项目 macOS运行BlueTooth蓝牙串口助手(Android+Studio源码).rar

BlueTooth蓝牙串口助手(AndroidStudio源码).rar已经编译并安装了 打开app了。模拟器没有蓝牙,需要手机上运行app。 下载androidstudio2024。 safari下载中断了,怎么办 M4. Android Studio Koala | 2024.1.1 Patch 1 macos下载 M4…

📅 2026/9/28 20:43:04
AXI Memory Mapped IP核BAR配置全解析:从原理到性能优化

AXI Memory Mapped IP核BAR配置全解析:从原理到性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/28 20:38:04
MORE NEWS

更多资讯

📰

谁是省时神器?8款AI论文网站梯队榜,毕业季救星!

论文选题总在反复纠结,文献综述写得杂乱无章,查重修改一遍又一遍? 别担心!AI论文工具的出现,正为学术写作带来全新可能。本文将基于内容逻辑性、资料整合力、格式自动生成、查重优化效果四大核心指标,深度测…

📰

从合租分到退款清算:游戏租号平台分账系统的技术架构拆解

我是一名游戏租号平台的技术负责人,有过从 0 到 1 搭建租号平台交易、分账整套系统的经历,踩过支付限额、押金资金池、合租对账混乱等一系列坑。今天从一线落地的视角,聊聊游戏租号赛道的分账架构设计、技术难点以及选型思路,给做…

📰

视频孪生+穿云透雾:单目视频三维实时重构驱动边防线全域四维态势感知与非法越境智能预警

摘要:陆地边境、岸线边防区域具有地形复杂、植被茂密、雨雾沙尘多发、昼夜温差大、遮挡盲区密集、巡查跨度广、值守难度大的典型特征,传统边海防视频监测体系受恶劣天气、密林遮挡、夜间暗光干扰严重,存在画面通透度低、目标识别失效、二维感…

📰

AI资讯日报实战:从信息洪流到精选筛选的完整方法论

1. 一份"AI资讯日报"到底在解决什么问题每天早上打开手机,AI相关的推送能刷出几十条:某大厂发布新模型、某开源社区更新了工具链、某研究机构放出一篇论文、某创业公司拿到新一轮融资。信息量爆炸,但真正有价值的内容往往被淹没在标…

📰

Keil5 RTE组件管理:STM32工程搭建高效指南

1. 为什么RTE值得你花时间搞明白刚接触STM32那会儿,我最怕的就是建工程。新建一个Keil工程,面对满屏的库文件、启动文件、头文件路径,手忙脚乱地一个个往工程里拖,拖完编译一堆报错,不是缺这个就是少那个。后来用上Kei…

📰

Octop自托管AI助手平台:多用户共享部署与配置实战

1. 从一张账单说起:为什么我盯上了 Octop去年年底我拉了一下自己的订阅账单,发现一个很尴尬的事实:ChatGPT Plus、Claude Pro、还有两个国内模型的会员,加起来一个月小两百块。问题是这些额度我根本用不满,但每个平台又…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬