专业级 Android 相机应用
面向摄影爱好者 | Luma Imaging Engine | 实时 LUT 滤镜
- 最大化信息保留: 保留动态范围、暗部细节、图像解析力、原始色彩
- Luma Log 曲线: 专业级 Log 编码,比 S-Log3 更"可看"
- 灰片生成: 低对比度、低饱和度的中性灰片,最大调色空间
- LUT 滤镜: 一键套用专业调色
- Pro 模式: 完整手动控制 (ISO/快门/白平衡/对焦)
- 120fps 预览: 匹配 120Hz 高刷屏幕
- 多焦段切换: 0.5x/1x/3x/6x 物理摄像头切换
- 峰值对焦: 120fps 边缘检测辅助对焦
- 3 秒动态照片: 快门前后各 1.5 秒
- HEIC 封装: 类似 Apple Live Photo
- 统一 LUT: 视频和照片应用相同滤镜
- 实时预览: 120fps GPU 渲染
- 支持格式: .cube / .3dl
- 强度可调: 0-100% 滤镜强度
- 自定义导入: 支持批量导入
- SoC: 骁龙 8 至尊版
- 内存: 16GB RAM
- 系统: Android 15+
┌─────────────────────────────────────────────────────────────┐
│ Presentation Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐│
│ │ Compose │ │ ViewModel │ │ Navigation ││
│ │ UI │ │ State │ │ ││
│ └─────────────┘ └─────────────┘ └─────────────────────────┘│
├─────────────────────────────────────────────────────────────┤
│ Domain Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐│
│ │ Models │ │ Use Cases │ │ Repository (I) ││
│ └─────────────┘ └─────────────┘ └─────────────────────────┘│
├─────────────────────────────────────────────────────────────┤
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐│
│ │ DataStore │ │ MediaStore │ │ Repository ││
│ └─────────────┘ └─────────────┘ └─────────────────────────┘│
├─────────────────────────────────────────────────────────────┤
│ Core Modules │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐│
│ │ Camera2 │ │ Luma │ │ LUT ││
│ │ Controller │ │ Imaging │ │ Engine ││
│ └─────────────┘ └─────────────┘ └─────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
- Android Studio Ladybug (2024.2.1+)
- JDK 17
- Android SDK 35
- Gradle 8.9+
- Kotlin 2.0.21
# 克隆项目
git clone https://github.com/your-username/luma-camera.git
# 打开项目
cd luma-camera/LumaCamera
./gradlew build
# 运行
./gradlew installDebug
# 或在 Android Studio 中直接运行- ✅ Camera2 API 集成
- ✅ Luma Imaging Engine 核心功能
- ✅ LUT 滤镜系统(14种内置滤镜)
- ✅ 实况照片功能
- ✅ Pro 模式手动控制
- 🚧 峰值对焦优化中
- 🚧 性能优化持续进行中
LumaCamera/
├── app/
│ ├── src/main/
│ │ ├── java/com/luma/camera/
│ │ │ ├── camera/ # Camera2 控制
│ │ │ ├── imaging/ # Luma Imaging Engine
│ │ │ ├── lut/ # LUT 滤镜引擎
│ │ │ ├── livephoto/ # 实况照片
│ │ │ ├── mode/ # 拍摄模式(夜景/人像/长曝光)
│ │ │ ├── render/ # OpenGL 渲染
│ │ │ ├── presentation/ # UI 层(Compose)
│ │ │ ├── domain/ # 领域层
│ │ │ ├── data/ # 数据层
│ │ │ ├── di/ # 依赖注入(Hilt)
│ │ │ ├── storage/ # 图片存储(HEIC/DNG/EXIF)
│ │ │ ├── startup/ # 启动优化
│ │ │ └── utils/ # 工具类
│ │ ├── assets/luts/ # LUT 文件
│ │ └── res/
│ │ ├── raw/luts/ # 内置 LUT 文件
│ │ └── ...
│ └── build.gradle.kts
├── gradle/
│ └── libs.versions.toml # 版本目录
├── build.gradle.kts
├── settings.gradle.kts
├── .gitignore
├── LICENSE
├── README.md
└── PROGRESS.md # 开发进度追踪
- UI: Jetpack Compose + Material 3
- 架构: Clean Architecture + MVVM
- 依赖注入: Hilt
- 相机: Camera2 API
- 图像处理: RenderScript / OpenGL ES 3.2
- 存储: MediaStore + DataStore
- 测试: JUnit 5 + Mockk + Compose UI Test
| 滤镜名称 | 风格 | 适用场景 |
|---|---|---|
| Astia | 富士胶片 | 风景、人像 |
| Classic Chrome | 经典铬 | 街拍、纪实 |
| Provia | 反转片 | 风景、建筑 |
| Velvia | 鲜艳反转片 | 自然风光 |
| Eterna | 电影风格 | 视频、动态 |
| Pro Neg Std | 专业负片 | 人像、室内 |
| Hasselblad Portrait | 哈苏人像 | 专业人像 |
| Warm Skin | 暖调肤色 | 人像特写 |
| Forest Green | 森林绿 | 植物、自然 |
| Beach Portrait | 海滩人像 | 户外人像 |
| Snow Portrait | 雪景人像 | 冬季人像 |
| Sunset | 日落 | 黄昏、暖调 |
| Warm | 暖色调 | 温馨场景 |
| Cold | 冷色调 | 冷峻风格 |
- Camera2 API 集成
- Luma Imaging Engine
- LUT 滤镜系统
- 实况照片
- Pro 模式
- 120fps 预览
- 峰值对焦
- 启动时间优化(目标 < 500ms)
- 内存优化(16GB 设备)
- 多帧降噪
- RAW 处理增强
- HDR 合成
- 全景模式
- 延时摄影
欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
- Fork 本项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT License 许可证。
- Jetpack Compose - 现代 UI 框架
- Camera2 API - 相机控制
- Hilt - 依赖注入
- RenderScript - 图像处理
Made with ❤️ for photographers | 初始提交: 2026年1月6日
