Skip to content

rrbe/exif-summary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exif-summary

作为业余摄影爱好者,可能用过很多相机和镜头,但回顾自己的照片,可能只对自己的设备和使用习惯有一个模糊的印象。 这个工具帮你统计常用焦段、常用光圈、常用 ISO 等拍摄参数,或许可以帮助更了解自己。

统计项

  1. 曝光三要素:ISO、光圈(f/值)、快门速度(1/Xs)
  2. 拍摄参数:焦段(mm)、曝光补偿(EV)、拍摄时段(凌晨/上午/下午/晚上)、镜头型号
  3. 相机信息:相机型号、相机品牌

TODO

  • 区分 RAW 和 JPEG 文件,去重
  • 支持更多图片格式(HEIC、TIFF)手机会用
  • 优化拍摄时段统计(注意时区)
  • 优化图表呈现效果
  • 添加单文件 EXIF 输出功能
  • 添加 EXIF 数据导出功能(CSV/JSON)
  • 多文件夹输入支持

使用

# 开发运行(终端文本输出)
bun run src/index.ts /path/to/photos

# 生成 HTML 图表报告
bun run src/index.ts /path/to/photos --html  # => ./exif-summary.html

# 打包成独立二进制
pnpm run build
./exif-summary /path/to/photos
./exif-summary /path/to/photos --html

输出示例

终端输出

发现 320 个图片文件
完成批次 1/4

成功处理了 318 个文件

EXIF 统计信息:

ISO 分布:
  400   85
  800   72
  200   61

光圈分布:
  f/2.8   120
  f/4      98

相机型号分布:
  ILCE-7M3       120
  Canon EOS R5    98

HTML 报告(--html

生成自包含的 exif-summary.html 文件,使用 Chart.js 渲染交互式图表:

  • 柱状图:ISO、光圈、快门速度、焦段、曝光补偿(按数值排序)
  • 环形图:拍摄时段、镜头型号、相机型号、相机品牌(显示占比)
  • 响应式布局,按分组展示

项目结构

src/
├── index.ts          # CLI 入口,支持 --html 参数
├── scanner.ts        # 递归目录扫描
├── exif-reader.ts    # 单文件 EXIF 读取
├── statistics.ts     # 统计聚合
├── formatter.ts      # 表格格式化输出
└── html-formatter.ts # HTML 图表报告生成

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors