面向 macOS 的非官方彩色负片工作流修改版
在 OpenRevelare 1.8.4 基础上加入 NegBase 对标标定、RGB 通道对齐与专业示波器。
Important
这是由个人维护的非官方修改版,并非 OpenRevelare 原作者发布。 上游项目为 Toshihiko-Lin/Open-Revelare。 本仓库保留原项目的 GPL-3.0-only 许可证与作者署名,目前只发布 macOS 安装包。
修改内容 · 概览 · 模型 · 流程 · 界面 · 功能 · 安装 · 构建 · 许可
当前基线版本为 1.8.4.1,基于上游 1.8.4。本修改版集中服务于 macOS 胶片翻拍工作流:
| 范围 | 本修改版 |
|---|---|
| 自动标定 | 以 Cineon 685 漫射白为固定默认目标,改进片基、画面边线与不透明导轨判别 |
| RGB 对齐 | 在当前 D_min 固定不动的前提下,于 Cineon 信号域独立调整 R/G/B 通道 |
| 示波器 | YRGB 分量图、10-bit Cineon 坐标、矢量示波器与肤色指示线;支持独立放大窗口 |
| 成片调整 | 使用原作者的显示参照 Stage 2 处理位置,保留完整的摄影式调整响应 |
| 参数交互 | 数值支持左右拖动精调,按显示精度步进并带平滑、有上限的加速 |
| 发行平台 | 只构建 macOS Apple Silicon 与 Intel DMG,不发布 Windows/Linux 包 |
具体改动见 CHANGELOG.md,NegBase 对标过程见 docs/NEGBASE_COMPARISON.md。未经明确验证的算法结论不会宣称为 NegBase 的内部实现;本项目只依据可观察行为进行对标。
彩色负片包含橙色片基与染料层,翻拍或扫描的原始文件通常存在色偏。OpenRevelare 将输入还原为线性光,在 Cineon 对数密度域中完成片基扣除、白平衡与反转,再输出正片。
- 可解释:片基、最大密度、通道平衡等参数均有明确含义。
- 可复现:工程参数保存在图像旁的
.ncproj文件中,源文件不被修改。 - 本地优先:无需联网或账号;图像处理由共享 CPU Core 完成。
- macOS 优先:C# / .NET 8 + Avalonia;本修改版发布 Apple Silicon 与 Intel 两种 macOS 包。
适用于相机翻拍或扫描的整卷底片处理、参数归档和跨设备重算。支持 HDR 编辑与导出;Linux 屏幕预览目前明确使用 SDR 回退。不提供逐卷色卡标定;文物翻拍、商业存档和科研用途可使用 DiVERE。
| 阶段 | 作用域 | 内容 |
|---|---|---|
| FilmBase | 整卷 | 片基透射率、最大密度、通道平衡和反转参数;物理还原结果 |
| SceneBase | 单帧 | 色温、曝光、对比度、饱和度和曲线;创作调整 |
两阶段分离后,物理参数可在整卷范围内复用,单帧调整不会改变物理还原结果。
- 色罩是物理量:通过片基采样获得,不以视觉猜测替代测量。
- 密度域是计算域:色罩表现为近似常量偏移,白平衡和反转可按线性关系计算。
- 还原与创作分离:FilmBase 负责一致性,SceneBase 负责表达。
- 导入:导入 RAW、扫描 TIFF 或其他支持的图像,并填写胶卷、相机和冲洗信息。
- 整卷校准:自动估计片基、白平衡、暗端和
d_max,必要时手动修正。 - 整卷同步:将 FilmBase 参数应用于整卷或选定帧。
- 帧编辑:在 SceneBase 中逐帧调整色温、曝光、对比度、饱和度和曲线。
- 导出:输出 TIFF、JPEG、线性 DNG 或场景线性 ACEScg TIFF。
修改会自动写入磁盘;源目录可写时 .ncproj 与源图像位于同一目录,否则使用下方所列的用户级 rolls 回退目录。
整卷缩略图、当前帧和共享物理参数集中在 Cineon 页面。
Display 页面用于单帧创作调整,不改变 FilmBase 参数。
![]() |
![]() |
| 按胶卷管理、筛选和恢复工程 | 包含齿孔排版和卷信息的整版印样 |
![]() |
![]() |
![]() |
| 翻拍原始输入 | NLP 自动反转结果 | OpenRevelare 反转结果 |
| 类别 | 能力 |
|---|---|
| 反转 | Cineon 密度域反转、自动标定、窄带光源解耦(Path A)、黑白负片模式 |
| 色彩 | ACEScg 工作空间;sRGB、Display P3、Adobe RGB 输出;精确 ICC 管理;Stage 2 调整 |
| 预处理 | LCC 平场、镜头畸变、暗角、齿孔遮罩和几何裁切,均在线性光域完成 |
| 工作流 | 按卷管理、整卷同步、独立 RGB 通道对齐、虚拟副本、画幅预设、80 步撤销重做 |
| 示波器 | 直方图、YRGB 分量图、10-bit Cineon 坐标、矢量示波器、肤色指示线与独立放大窗口 |
| 输出 | 16-bit TIFF、JPEG、线性 DNG、32-bit 浮点场景线性 ACEScg TIFF、HDR 增益图 JPEG;文件名模板、缩放和锐化选项 |
| 风格 / HDR | Cineon 输入 .cube 印片风格、SDR/HDR 整卷渲染、以档数表示的 HDR 上限、HDR 印样 |
| 报告 | 本帧技术报告,记录输入域、片基来源和反转参数 |
支持的输入包括 DNG、NEF、CR2/CR3、ARW、RAF、RW2、ORF、PEF、IIQ、哈苏/Flextight .fff 和 TIFF。JPEG/PNG 是导出或界面缓存格式,不是负片导入格式。文件选择器同时接受 RAW 扩展名的大写和小写形式。
透射率 T 转换为对数密度:
片基归一化、密度域白平衡和反转分别为:
单帧处理顺序为:线性化 → 线性域光学校正 →(可选)光源解耦 → 片基扣除 → 密度域白平衡 → 反转 → 输出。应用内「帮助 → 操作指引 / 技术原理」提供完整说明。
本修改版安装包位于 Releases,已包含 .NET 运行时。
| 平台 | 包 | 状态与要求 |
|---|---|---|
| macOS Apple Silicon | -arm64.dmg |
macOS 12+;主要测试平台 |
| macOS Intel | -x86_64.dmg |
macOS 12+;自动构建与装配检查 |
Windows 与 Linux 用户请使用上游官方版本。
平台提示
-
macOS:首次启动若提示无法验证开发者,可在「系统设置 → 隐私与安全性 → 仍要打开」确认,或执行:
xattr -dr com.apple.quarantine /Applications/OpenRevelare.app
| 内容 | Windows | Linux / macOS |
|---|---|---|
| 设置与卷索引 | %APPDATA%\OpenRevelare |
$XDG_CONFIG_HOME/OpenRevelare/(默认 ~/.config) |
| 印样缓存 | %LOCALAPPDATA%\OpenRevelare\sheets |
$XDG_CACHE_HOME/OpenRevelare/sheets/(默认 ~/.cache) |
| DNG 解码缓存 | 源文件旁的 .revelare-cache/
|
同左 |
| 印片 LUT 放置目录 | %LOCALAPPDATA%\OpenRevelare\luts |
$XDG_DATA_HOME/OpenRevelare/luts/(默认 ~/.local/share) |
| 工程文件 | 源目录可写时为其中的 .ncproj;否则 %APPDATA%\OpenRevelare\rolls
|
源目录可写时为其中的 .ncproj;否则 $XDG_CONFIG_HOME/OpenRevelare/rolls/
|
缓存位置与上限可在偏好设置中调整;卸载不会删除上述数据。
需要 .NET 8 SDK。
git clone https://github.com/arthurzhaizhao-code/Open-Revelare-modified.git
cd Open-Revelare-modified
git switch codex/negbase-parity
dotnet build -c Release
dotnet test -c Release
dotnet run --project src/OpenRevelare.Gui命令行前端:
dotnet run --project src/OpenRevelare.Cli -- -i neg.tiff -o pos.tiff --input-linear --color-space sRGB--input-linear 与 --input-srgb 互斥。为兼容旧版对拍脚本,CLI 仍接受 --d-max、--grade、--pivot 和 --scan-exposure-ev,但这些参数现在是空操作;当前反相由两端密度标定与输出范围控制。
开发前请阅读 CONTRIBUTING.md。标定实验见 docs/calibration/,色彩管理记录见 docs/color-management-architecture.md。
代码采用 GPL-3.0-only,见 LICENSE。
models/net_awb.onnx 为 Deep White-Balance Editing 模型,按 CC BY-NC-SA 4.0 单独授权,不属于本项目 GPL 范围。详情见 models/README.md 与 THIRD_PARTY_NOTICES.txt。
主要参考:LightSourceDecouple、DiVERE 和 darktable negadoctor。
本仓库派生自 Toshihiko-Lin/Open-Revelare,原项目由 Toshihiko-Lin 创建并以 GPL-3.0-only 发布。本修改版维护者感谢原作者及上游贡献者提供完整的应用基础。
以下名单来自上游项目,感谢他们对原项目早期开发与完善提供的支持:
- 豆腐
- Caramello_焦糖玛奇朵
- REPEATER000
- jamais
- hhd
- 不提供逐卷色卡标定。
- 8-bit TIFF 暗部可能出现色带,建议使用 16-bit 输入。
- 本修改版不提供 Windows 或 Linux 安装包。
- Intel 安装包通过自动构建与装配检查,但主要交互验证在 Apple Silicon 上进行。
本修改版的问题请提交到当前仓库 Issues;可确认属于上游的问题再提交到官方仓库。请附系统版本、Mac 型号、相机或扫描仪型号、输入格式与错误信息,不要上传含隐私内容的原片。
OpenRevelare 以 GPL-3.0-only 开源发布。








