基于Python的相片批量添加边框水印程序

目录

一、前言

二、介绍

三、使用办法

四、代码

五、图例

原图

Style1输出

Style2输出

Style3输出

佳能照片输出样例(Style1)

大疆照片输出样例(Style1)

苹果照片输出样例(Style1)


一、前言

        对象买了新相机,发现用的加边框水印App,居然要充值,才能导出原图清晰度的照片。我一听这个这么简单的需求,居然还要88块,咱俩都是学CS的,这韭菜可不兴做。反正批量处理照片的时候,还是电脑方便,一不做二不休,在万能的github上找了个别人的代码,按照我们的需求改了改。

二、介绍

        参考的代码:

GitHub - lovemegowin/image-metadata-watermark: Add metadata watermark like Xiaomi Lycra watermark to your photos. 为你的照片添加类似于小米莱卡水印的边框

        作者的Pillow版本比较旧了,开始没跑起来,遇到了'ImageDraw' object has no attribute 'textsize'的问题,看了下官方文档,textsize被去掉了,现在新的版本里面是textbox。修改之后总算能顺利运行。

10.0.0 (2023-07-01) - Pillow (PIL Fork) 10.4.0.dev0 documentation

        然后,基于作者的代码,我进行了一些修改包括但不限于:

  • 支持Pillow10以上的版本
  • 支持Sony、Canon、大疆、iphone相机的照片边框水印添加
  • 调整了水印样式
  • 增加了Style1、2、3、4,共4种边框风格,可供使用者选择.
  • Style4支持输入创作者名称(仅英文)
  • 针对索尼A7C2设备,显示的设备名称从ILCE-7CM2改为Alpha 7C II
  • 针对大疆Pocket3设备,显示的设备名称从PP-101改为Pocket 3
  • 支持自定义输出图片的质量,100为原图,数字小于100进行压缩

         由于做了多种水印边框的实现,将作者代码的水印生成单独拉了文件,方便后续添加不同的边框风格。然后个性化的设备名称判断也在devicename的文件中处理。

        不过由于在别人的基础上修改,也不是办公代码,就自个瞎用用,就没怎么在意代码美观程度,请见谅。

三、使用办法

# -i input folder
# -o output folder
# -s style type
# -a author name
# -q quality 100为原图,不输入默认100
python3 cli.py -i prev/ -o after/ -s 1 -q 80
python3 cli.py -i prev/ -o after/ -s 2 -q 80
python3 cli.py -i prev/ -o after/ -s 3 -q 80
python3 cli.py -i prev/ -o after/ -s 4 -a ShiliChan -q 80

四、代码

https://github.com/loannechan/image-metadata-watermark

五、图例

原图

Style1输出

Style2输出

Style3输出

Style4输出

佳能照片输出样例(Style1)

大疆照片输出样例(Style1)

苹果照片输出样例(Style1)

相关推荐

  1. Python 音频添加水印

    2024-04-30 02:48:01       47 阅读
  2. Python 中使用 PyPDF2 向 PDF 文件批量添加水印

    2024-04-30 02:48:01       38 阅读
  3. 【uniapp-小程序-给video添加水印

    2024-04-30 02:48:01       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 02:48:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 02:48:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 02:48:01       87 阅读
  4. Python语言-面向对象

    2024-04-30 02:48:01       96 阅读

热门阅读

  1. ONNX模型

    2024-04-30 02:48:01       34 阅读
  2. 使用Redis实现延时队列

    2024-04-30 02:48:01       33 阅读
  3. 安卓手机APP开发__媒体开发部分__APK裁剪

    2024-04-30 02:48:01       39 阅读
  4. 【C++例8-2】 将单目运算符“++”重载为成员函数

    2024-04-30 02:48:01       31 阅读
  5. Oracle中取出clob类型

    2024-04-30 02:48:01       35 阅读
  6. Modbus协议到EtherCAT协议的转换

    2024-04-30 02:48:01       31 阅读
  7. 穆迪信用评级

    2024-04-30 02:48:01       28 阅读
  8. 【Pyhton爬虫实战】爬取京东商城的商品信息

    2024-04-30 02:48:01       34 阅读