🌟 如何用 semi-utils 批量添加相机参数水印?摄影师必备的免费图片处理工具全指南
semi-utils 是一款专为摄影爱好者打造的免费图片批量处理工具,能够自动添加相机型号、镜头参数、拍摄时间等水印信息,并支持多种排版布局和自定义配置。无论是社交媒体分享还是作品存档,都能让你的照片瞬间提升专业感!
📸 效果展示:一键变身专业摄影作品
以下是使用不同布局模板处理后的效果对比,所有示例均来自项目实际输出:
| 布局类型 | 效果预览 | 特点说明 |
|---|---|---|
| 右侧Logo水印 | ![]() |
经典布局,厂商Logo居右,参数信息清晰分层 |
| 黑红配色风格 | ![]() |
暗色调设计,适合高对比度作品展示 |
| 1:1正方形裁剪 | ![]() |
自动填充白边,完美适配Instagram等平台 |
| 背景模糊效果 | ![]() |
主体突出,背景虚化处理提升艺术感 |
所有布局模板均支持自定义调整,包括字体、颜色、Logo位置等细节参数。
🚀 快速上手:3步完成图片批量处理
🔍 准备工作
-
获取工具
通过Git克隆仓库到本地(需提前安装Git):git clone https://gitcode.com/gh_mirrors/se/semi-utils.git ~/semi-utils -
环境配置
进入项目目录并运行安装脚本:cd ~/semi-utils chmod +x install.sh ./install.sh -
素材准备
将需要处理的图片复制到input文件夹(如无此文件夹可手动创建):mkdir -p ~/semi-utils/input # 创建输入目录 cp /path/to/your/photos/* ~/semi-utils/input/ # 复制图片
⚙️ 核心功能:不止于水印的全能工具
📝 智能参数提取
自动读取照片EXIF信息,无需手动输入:
- 相机型号(Model)
- 镜头参数(LensModel)
- 拍摄参数(光圈、快门、ISO)
- 拍摄时间(Datetime)
🎨 9种预设布局
通过 config.yaml 可切换多种排版样式,满足不同场景需求:
| 布局名称 | 适用场景 | 示例图片 |
|---|---|---|
watermark_right_logo |
社交媒体分享 | ![]() |
square |
Instagram发布 | ![]() |
simple |
简洁文档配图 | ![]() |
✨ 高级自定义选项
修改配置文件实现个性化效果:
- 调整字体大小与颜色(支持系统字体和自定义字体)
- 开关厂商Logo显示(内置Canon、Sony、Fujifilm等品牌Logo)
- 设置白边宽度和背景色(支持RGB颜色代码)
📌 执行处理:一键批量生成
运行主程序并按提示操作:
cd ~/semi-utils
python3 main.py
根据终端提示输入 y 或直接回车开始处理,结果将保存在 output 文件夹中。
⚙️ 深度配置:打造专属水印风格
📄 配置文件详解
核心配置文件 config.yaml 位于项目根目录,主要包含以下设置项:
基础设置(base)
base:
font: ./fonts/AlibabaPuHuiTi-2-45-Light.otf # 常规字体路径
bold_font: ./fonts/AlibabaPuHuiTi-2-85-Bold.otf # 粗体字体路径
font_size: 1 # 字体大小比例
quality: 100 # 输出图片质量(1-100)
布局设置(layout)
layout:
type: watermark_right_logo # 布局类型
logo_enable: true # 是否显示Logo
logo_position: right # Logo位置(left/right)
完整配置说明可参考项目目录下的
config.yaml文件,所有参数均有详细注释。
📁 项目结构解析
semi-utils/
├── config.yaml # 主配置文件
├── main.py # 程序入口
├── utils.py # 核心工具函数
├── entity/ # 数据模型定义
│ ├── image_container.py # 图片容器类
│ └── config.py # 配置解析类
├── images/ # 示例图片
├── logos/ # 相机品牌Logo
└── fonts/ # 字体文件
💡 实用技巧:提升效率的进阶玩法
🖼️ 批量处理不同型号相机照片
系统会自动识别照片EXIF中的相机厂商信息,并匹配对应Logo(如Canon、Sony等),存放路径:logos/
📱 移动端适配方案
使用 square 布局并配合 quality: 85 设置,生成适合手机浏览的低体积图片:
layout:
type: square
base:
quality: 85
⏱️ 处理进度监控
大型相册处理时可通过终端输出查看实时进度,平均处理速度:
- 单张照片:约2-3秒
- 100张照片:3-5分钟(视电脑配置而定)
❓ 常见问题解决
🔧 依赖安装失败
如果运行 install.sh 提示缺少Python环境:
# Ubuntu/Debian
sudo apt install python3 python3-pip
# macOS (使用Homebrew)
brew install python3
🖼️ 图片处理后无水印
检查配置文件中布局类型是否正确,推荐默认值:
layout:
type: watermark_right_logo # 确保此项未被注释
📄 配置文件恢复
如果修改配置后程序异常,可删除配置文件恢复默认设置:
rm ~/semi-utils/config.yaml
cp ~/semi-utils/config.yaml.example ~/semi-utils/config.yaml # 恢复示例配置
📄 许可证信息
本项目基于 Apache License 2.0 开源,引用了 exiftool(GPL v1 + Artistic License 2.0)。所有字体文件需遵守各自的开源协议。
项目地址:
https://gitcode.com/gh_mirrors/se/semi-utils
最后更新时间:2025-10-25
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00




