开源的摄影信息卡与水印排版工具(带黑客终端 HUD / ASCII 解构 / 艺术双联)
平时喜欢拍照,修完图发社交平台或者朋友圈时,总觉得市面上大多数加水印、做相框的 App 有点一言难尽:
- 手机端各种订阅制、广告,且没法直接在电脑端对整个输出文件夹一键批量跑完;
- 大多数边框工具千篇一律,要么就是生硬贴参数,稍微长一点的镜头名就文字重叠、溢出乱码;
- 很多工具在处理时会粗暴丢弃 ICC 色彩配置文件,导致精心调色的照片在不同设备上看发灰发色偏。
- 很多 skills 能力又被强大的大语言模型锁死(使用本地 cpu 算法+本地可运行模型),导致无法脱离 ai 工具的捆绑。
作为一个程序员兼尼康用户,索性自己动手用 Python 做了一个真正符合摄影爱好者审美与极客趣味的开源工具:**PicFrame**。
开源地址:[https://github.com/vincentchyu/PicFrame](https://github.com/vincentchyu/PicFrame)
---
## 📸 它能生成四大独立视觉方案
PicFrame 不是简单的“套个白底”,而是内置了四套完全不同风格的排版与视觉体系:
### 1. 经典社交媒体信息卡 (`scheme1`)🌟🌟
专为移动端社交分享设计(支持 3:4 竖版与 4:3 横版)。自动根据照片主色调提取柔和的高级感底色,自动匹配相机、镜头的透明产品图,并将 ISO 、快门、光圈、GPS 坐标、海拔和版权等封装为胶囊化排版。


---
### 2. 品牌极简水印底栏 (`scheme2`)
100% 忠实保留原片原始画幅比例与无损画质,在底部自然拼接相机品牌官方矢量 Logo 、镜头型号与曝光参数水印栏,克制耐看。

---
### 3. 黑客终端与 ASCII 结构解构 (`scheme3`) 🌟🌟🌟
给极客摄影师的计算机终端艺术装裱,统一输出 **1:1 正方形画幅**:
- **`gallery_ascii_terminal`**:智能明暗自适应黑客终端 HUD 仪表舱(暗调照片自动匹配暗黑底板+黑客荧光绿矩阵;亮调照片自动匹配浅色卡纸+深墨绿遥测矩阵,等宽机械字体)。
- **`gallery_ascii_diptych`**:原片主色调底板 + 提取画面真实色彩的 ASCII 字符结构画双联与色卡。



---
### 4. 现代艺术画册抽象双联 (`scheme4`) 🌟🌟🌟🌟
跳出传统 EXIF 相框。原片无缝衔接经典象牙色面板(`#F3F0E8`),自动提炼画面 4 色调色板与空间几何记忆母题,排版诗意衬线标题:
- **`editorial_diptych`**:200 晶格几何肌理拟合(本地 cpu+本地 ai );
- **`editorial_guidance`**:建筑手稿细线网格与多焦点彩色准星解构,凸显空间透视与主体焦点(本地 cpu+本地 ai )。


---
## 🛠 一些对强迫症友好的技术细节
在写这个工具的过程中,处理了大量摄影排版与图像管线上的边角细节:
1. **终端交互式 TUI 预览**:运行 `python3 [generate_photo_cards.py](http://generate_photo_cards.py/)` 会直接启动纯标准库 `curses` 编写的交互式终端,自带 ASCII 线框排版动态预览,选文件夹、挑方案、改参数都可以在终端一气呵成。
2. **严苛的画幅比例平衡**:对于所有双联/相框方案,**竖构图照片一律自动切换为“左原图、右画册/HUD”的左右并排结构**,彻底解决很多工具竖图做出来细长难看、上下失衡的问题;横图则采用上下结构。
3. **色彩管理 (ICC Profile)**:自动读取并完整保留源照片内嵌的 ICC 配置文件(支持 ColorSync / sRGB ),保证导出后在 macOS Preview 、Finder 以及各大平台看色彩不跑偏。
4. **批量产物管理**:单次批处理会自动生成按方案/布局隔离的输出目录,并自动生成整组缩略图联系表(`contact-sheet.jpg`)与批处理清单(`manifest.json`),方便快速预览挑选。
5. **无损 / 社交压缩双模式**:支持 100% 原始高精无损 PNG 导出,也支持针对小红书/朋友圈等平台优化(1080P/1440P)的高画质 JPEG 压缩。
---
## 🚀 快速上手
项目基于 Python 3 ,依赖仅需 Pillow 、PyYAML 和 `exiftool`:
```bash
# 1. 安装 exiftool (macOS 为例)、olmx 、ollama ,
brew install exiftool olmx ollama
# 2. 克隆仓库与安装依赖
git clone https://github.com/vincentchyu/PicFrame.git
cd PicFrame
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
也可以直接通过 CLI 脚本传参批量运行:
# 3. 启动交互式终端选择照片处理
python3 generate_photo_cards.py
# 方案 1:小红书经典卡片
python3 generate_photo_cards.py --source /path/to/photos --scheme scheme1
# 方案 3:黑客终端 HUD 1:1 正方装裱
python3 generate_photo_cards.py --source /path/to/photos --scheme scheme3 --layout gallery_ascii_terminal
# 方案 4:艺术画册精工手稿双联
python3 generate_photo_cards.py --source /path/to/photos --scheme scheme4 --layout editorial_guidance
```
欢迎各位摄影爱好者和 V 友们提 Issue 、PR 或交流好玩的排版想法!
项目 GitHub: [https://github.com/vincentchyu/PicFrame](https://github.com/vincentchyu/PicFrame)
---
原文链接:[点击查看](https://www.v2ex.com/t/1235712)
- 手机端各种订阅制、广告,且没法直接在电脑端对整个输出文件夹一键批量跑完;
- 大多数边框工具千篇一律,要么就是生硬贴参数,稍微长一点的镜头名就文字重叠、溢出乱码;
- 很多工具在处理时会粗暴丢弃 ICC 色彩配置文件,导致精心调色的照片在不同设备上看发灰发色偏。
- 很多 skills 能力又被强大的大语言模型锁死(使用本地 cpu 算法+本地可运行模型),导致无法脱离 ai 工具的捆绑。
作为一个程序员兼尼康用户,索性自己动手用 Python 做了一个真正符合摄影爱好者审美与极客趣味的开源工具:**PicFrame**。
开源地址:[https://github.com/vincentchyu/PicFrame](https://github.com/vincentchyu/PicFrame)
---
## 📸 它能生成四大独立视觉方案
PicFrame 不是简单的“套个白底”,而是内置了四套完全不同风格的排版与视觉体系:
### 1. 经典社交媒体信息卡 (`scheme1`)🌟🌟
专为移动端社交分享设计(支持 3:4 竖版与 4:3 横版)。自动根据照片主色调提取柔和的高级感底色,自动匹配相机、镜头的透明产品图,并将 ISO 、快门、光圈、GPS 坐标、海拔和版权等封装为胶囊化排版。


---
### 2. 品牌极简水印底栏 (`scheme2`)
100% 忠实保留原片原始画幅比例与无损画质,在底部自然拼接相机品牌官方矢量 Logo 、镜头型号与曝光参数水印栏,克制耐看。

---
### 3. 黑客终端与 ASCII 结构解构 (`scheme3`) 🌟🌟🌟
给极客摄影师的计算机终端艺术装裱,统一输出 **1:1 正方形画幅**:
- **`gallery_ascii_terminal`**:智能明暗自适应黑客终端 HUD 仪表舱(暗调照片自动匹配暗黑底板+黑客荧光绿矩阵;亮调照片自动匹配浅色卡纸+深墨绿遥测矩阵,等宽机械字体)。
- **`gallery_ascii_diptych`**:原片主色调底板 + 提取画面真实色彩的 ASCII 字符结构画双联与色卡。



---
### 4. 现代艺术画册抽象双联 (`scheme4`) 🌟🌟🌟🌟
跳出传统 EXIF 相框。原片无缝衔接经典象牙色面板(`#F3F0E8`),自动提炼画面 4 色调色板与空间几何记忆母题,排版诗意衬线标题:
- **`editorial_diptych`**:200 晶格几何肌理拟合(本地 cpu+本地 ai );
- **`editorial_guidance`**:建筑手稿细线网格与多焦点彩色准星解构,凸显空间透视与主体焦点(本地 cpu+本地 ai )。


---
## 🛠 一些对强迫症友好的技术细节
在写这个工具的过程中,处理了大量摄影排版与图像管线上的边角细节:
1. **终端交互式 TUI 预览**:运行 `python3 [generate_photo_cards.py](http://generate_photo_cards.py/)` 会直接启动纯标准库 `curses` 编写的交互式终端,自带 ASCII 线框排版动态预览,选文件夹、挑方案、改参数都可以在终端一气呵成。
2. **严苛的画幅比例平衡**:对于所有双联/相框方案,**竖构图照片一律自动切换为“左原图、右画册/HUD”的左右并排结构**,彻底解决很多工具竖图做出来细长难看、上下失衡的问题;横图则采用上下结构。
3. **色彩管理 (ICC Profile)**:自动读取并完整保留源照片内嵌的 ICC 配置文件(支持 ColorSync / sRGB ),保证导出后在 macOS Preview 、Finder 以及各大平台看色彩不跑偏。
4. **批量产物管理**:单次批处理会自动生成按方案/布局隔离的输出目录,并自动生成整组缩略图联系表(`contact-sheet.jpg`)与批处理清单(`manifest.json`),方便快速预览挑选。
5. **无损 / 社交压缩双模式**:支持 100% 原始高精无损 PNG 导出,也支持针对小红书/朋友圈等平台优化(1080P/1440P)的高画质 JPEG 压缩。
---
## 🚀 快速上手
项目基于 Python 3 ,依赖仅需 Pillow 、PyYAML 和 `exiftool`:
```bash
# 1. 安装 exiftool (macOS 为例)、olmx 、ollama ,
brew install exiftool olmx ollama
# 2. 克隆仓库与安装依赖
git clone https://github.com/vincentchyu/PicFrame.git
cd PicFrame
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
也可以直接通过 CLI 脚本传参批量运行:
# 3. 启动交互式终端选择照片处理
python3 generate_photo_cards.py
# 方案 1:小红书经典卡片
python3 generate_photo_cards.py --source /path/to/photos --scheme scheme1
# 方案 3:黑客终端 HUD 1:1 正方装裱
python3 generate_photo_cards.py --source /path/to/photos --scheme scheme3 --layout gallery_ascii_terminal
# 方案 4:艺术画册精工手稿双联
python3 generate_photo_cards.py --source /path/to/photos --scheme scheme4 --layout editorial_guidance
```
欢迎各位摄影爱好者和 V 友们提 Issue 、PR 或交流好玩的排版想法!
项目 GitHub: [https://github.com/vincentchyu/PicFrame](https://github.com/vincentchyu/PicFrame)
---
原文链接:[点击查看](https://www.v2ex.com/t/1235712)
评论
暂无评论。