Lut2Photo胶片颗粒参数详解
胶片颗粒参数详解
概述
Lut2Photo(V3.1.0+)内置了一套强大的胶片颗粒模拟系统,旨在模拟真实胶片在不同影调区域的颗粒特性,通过高斯噪声生成和亮度调制实现。系统支持CPU和GPU双重处理引擎,提供16个可调参数。
核心算法
噪声生成公式
Box-Muller变换(高斯噪声):
1 | u1 = random(0, 1), u2 = random(0, 1) |
最终颗粒强度计算:
1 | 实际强度 = 全局强度 × 影调强度比例 × 颗粒大小 × 影调尺寸比例 × 强度系数(25) |
影调分区算法
使用平滑插值函数避免硬边界:
1 | smoothstep(t) = t² × (3 - 2t) |
参数详解
基础参数
1. 启用开关 (isEnabled)
- 类型: Boolean
- 默认值: false
- 说明: 控制胶片颗粒效果的总开关
2. 全局强度 (globalStrength)
- 范围: 0.0 - 1.0
- 默认值: 0.5
- 单位: 无量纲
- 说明: 控制整体颗粒效果的强度,作为所有影调区域的基础乘数
3. 颗粒大小 (grainSize)
- 范围: 0.5 - 6.0
- 默认值: 1.0
- 单位: 相对尺寸
- 说明: 控制颗粒的基础大小,影响颗粒的视觉密度
高级参数
影调范围参数
4. 阴影阈值 (shadowThreshold)
- 范围: 0 - 255
- 默认值: 85
- 单位: 亮度值
- 说明: 阴影与中间调的分界点,低于此值的像素被视为阴影
5. 高光阈值 (highlightThreshold)
- 范围: 0 - 255
- 默认值: 170
- 单位: 亮度值
- 说明: 中间调与高光的分界点,高于此值的像素被视为高光
影调强度比例
6. 阴影颗粒强度 (shadowGrainRatio)
- 范围: 0.2 - 1.0
- 默认值: 0.6
- 单位: 相对比例(以中间调为基准1.0)
- 说明: 阴影区域的颗粒强度倍数
7. 中间调颗粒强度 (midtoneGrainRatio)
- 固定值: 1.0
- 单位: 相对比例(基准)
- 说明: 中间调区域的颗粒强度基准值
8. 高光颗粒强度 (highlightGrainRatio)
- 范围: 0.1 - 0.8
- 默认值: 0.3
- 单位: 相对比例(以中间调为基准1.0)
- 说明: 高光区域的颗粒强度倍数
影调尺寸比例
9. 阴影颗粒尺寸 (shadowSizeRatio)
- 范围: 1.0 - 2.0
- 默认值: 1.5
- 单位: 相对比例(以中间调为基准1.0)
- 说明: 阴影区域的颗粒尺寸倍数
10. 中间调颗粒尺寸 (midtoneSizeRatio)
- 固定值: 1.0
- 单位: 相对比例(基准)
- 说明: 中间调区域的颗粒尺寸基准值
11. 高光颗粒尺寸 (highlightSizeRatio)
- 范围: 0.3 - 1.0
- 默认值: 0.6
- 单位: 相对比例(以中间调为基准1.0)
- 说明: 高光区域的颗粒尺寸倍数
色彩通道参数
12. 红色通道系数 (redChannelRatio)
- 范围: 0.5 - 1.5
- 默认值: 0.9
- 单位: 相对比例(以绿色通道为基准1.0)
- 说明: 红色通道的颗粒强度倍数
13. 绿色通道系数 (greenChannelRatio)
- 固定值: 1.0
- 单位: 相对比例(基准)
- 说明: 绿色通道的颗粒强度基准值
14. 蓝色通道系数 (blueChannelRatio)
- 范围: 0.5 - 1.5
- 默认值: 1.2
- 单位: 相对比例(以绿色通道为基准1.0)
- 说明: 蓝色通道的颗粒强度倍数
15. 通道相关性 (channelCorrelation)
- 范围: 0.8 - 0.95
- 默认值: 0.9
- 单位: 相关系数
- 说明: 控制RGB三个通道之间的噪声相关程度,值越高颗粒越单色
16. 色彩保护 (colorPreservation)
- 范围: 0.9 - 1.0
- 默认值: 0.95
- 单位: 保护系数
- 说明: 防止颗粒效果造成严重偏色,值越高色彩越稳定
推荐参数
1. 经典胶片 (classicFilm)
1 | 全局强度: 0.4 |
适用场景: 模拟经典35mm胶片的颗粒质感
2. 轻微颗粒 (subtle)
1 | 全局强度: 0.25 |
适用场景: 为数字照片添加轻微的胶片质感
3. 强烈颗粒 (heavy)
1 | 全局强度: 0.7 |
适用场景: 创造明显的复古胶片效果
技术实现
CPU处理器 (FilmGrainProcessor)
- 算法: Box-Muller变换生成高斯噪声
- 分块策略: 超过1600万像素自动分块处理
- 内存管理: 与CpuLutProcessor一致的分块阈值
- 性能: 适合小图片和CPU密集型处理
GPU处理器 (GpuLutProcessor)
- 算法: GLSL着色器实现并行计算
- 集成方式: 与LUT处理在同一着色器中完成
- 性能优势: 大图片处理速度显著提升
- 内存效率: 避免CPU-GPU数据传输开销
预览图自动缩放应用算法
1 | 缩放比例 = √(预览像素数 / 原图像素数) |
目的: 确保预览效果与最终输出的视觉一致性
使用建议
参数调节顺序
- 全局强度: 先设定整体效果强度
- 颗粒大小: 调节颗粒的视觉密度
- 影调阈值: 根据图片特点调整分区
- 影调强度: 微调各区域的颗粒强度
- 色彩参数: 最后调节色彩相关参数
注意事项
- 内存限制: 超大图片会自动分块处理,可能影响颗粒的连续性
- 处理顺序: 颗粒效果在LUT处理之后、边框水印之前应用
- 色彩空间: 基于RGB色彩空间计算,适用于sRGB图片
- 兼容性: GPU处理需要OpenGL ES 3.0支持
- 预览精度: 预览图会根据分辨率自动缩放颗粒参数
其他技术参考
- Box-Muller变换: 用于生成高质量高斯分布随机数
- 平滑插值: 避免影调分区间的硬边界
- 通道相关性: 模拟真实胶片的色彩特性
- 亮度计算: 使用标准RGB到亮度转换系数 (0.299, 0.587, 0.114)
- 标题: Lut2Photo胶片颗粒参数详解
- 作者: 偷光你的小鱼干
- 创建于 : 2025-12-12 13:03:53
- 更新于 : 2025-12-12 13:57:39
- 链接: https://alittlecookie.cn/2025/12/12/Lut2Photo胶片颗粒参数详解/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论