FILCamera
开源 ANDROID 相机

记录光线。
显影胶片。

围绕原片构建的原生相机。拍摄 RAW,用光谱胶片与相纸模型完成渲染;保留数字底片,随时重新显影。

ANDROID 10+ · ARM64 · 离线处理
处理管线 / 概览36 MM / FILM
RAW 采集、胶片渲染和 JPG 输出的流程示意 RAWJPG场景 → 胶片 → 放印
保留原始 DNG随时重新显影
Camera2原始画面采集
Vulkan手机端处理
DNG保留原始底片
GPLv3开放源代码
01 / 核心能力

从底片开始。

从取景到暗房,处理过程清晰可见,源码可供检查。

01

从传感器获取 RAW

通过 Camera2 拍摄并保留完整 DNG。支持可用后置镜头选择,并根据实际镜头信息计算 35 mm 等效焦距裁切。

02

胶片与相纸模型

光谱处理管线源自 Spektrafilm,涵盖胶片曝光、显影和放印,让成像过程共同决定最终效果。

03

实时取景的参考

手机端生成 LUT,将所选配方的色彩带入取景器。调整配方时无需重启相机。

04

Vulkan 驱动的暗房

RAW 显影与胶片渲染在手机 GPU 上执行,中间浮点图像保持在 GPU 内。

05

拍摄需要的控制

曝光补偿、基于标定的 Kelvin 白平衡,以及点击对焦。手动控制的可用性取决于设备相机接口。

06

保留值得重来的原片

浏览、分享与重新显影。保存新的 JPG 版本,同时保留原始 DNG,方便日后继续调整。

02 / 处理流程

从传感器,
到放印输出。

颜色在最终输出之前就已开始形成。RAW 显影准备场景数据,胶片和相纸阶段共同决定如何呈现它。

在手机上完成显影
  1. 采集与保留原片

    Camera2 RAW → 完整 DNG 原片。

  2. 场景显影

    校准与去马赛克 → 裁切、ProPhoto RGB 与方向处理。

  3. 胶片曝光与显影

    胶片响应、DIR、颗粒、光晕与镜头柔光。

  4. 放印与相纸显影

    放印曝光、光谱滤色、放印柔光与相纸响应。

  5. 扫描与保存

    输出色彩处理 → RGBA8 回读 → JPG 95。

03 / 设备支持

了解你的相机。

开放接口让这条管线成为可能,设备的具体实现决定哪些能力可用。

Android 10+最低系统版本
ARM64打包架构
Vulkan 1.1GPU 接口
60 MP最大有效 RAW 像素

RAW 能力因设备而异

需要受支持的 Camera2 Bayer RAW 模式。镜头访问、物理流组合及手动控制取决于设备;不支持的摄像头无法用于 RAW 拍摄,不会自动替换为 JPEG 拍摄。

显影需要一些时间

全分辨率处理采用串行流程,可能需要数秒。预览与成片并非完全一致。不同设备的兼容性仍需验证。

回到自己的数字底片

目前仅支持导入携带 FILCamera 内嵌显影记录的 DNG,尚不支持作为任意第三方 DNG 的通用导入器。

请为原片做好备份

DNG 保存在 App 私有目录,保存的 JPG 发布到系统相册。卸载前请导出原片;系统相册副本与 App 内照片库相互独立。

04 / 开源项目

源码开放。
处理留在本机。

无需账号,没有统计分析、广告或网络权限。拍摄与显影都在你的设备上完成。

胶片引擎源自 Spektrafilm Android 和 Andrea Volpato 的 spektrafilm,FILCamera 是独立项目。你可以阅读实现、反馈设备问题,或自行构建。

FILCamera 原创代码采用 GPL-3.0-only;胶片数据和衍生 LUT 采用 CC BY-SA 4.0。ICC 配置文件保留各自的许可证。

从保留原片开始。

在 GitHub 查看已发布版本与更新说明。