通过Python的filestools库给图片添加全图水印的示例详解

目录
  • 前言
  • 一、filestools库简介
  • 二、安装filestools
  • 三、查看filestools版本
  • 四、图片添加全图水印
    • 1.引入库
    • 2.添加水印
  • 五、参数调整对比
    • 1.水印颜色
      • 1.1通过名称设置颜色
      • 1.2通过RGB值设置颜色
      • 1.3通过十六进制设置颜色
    • 2.水印字体的大小
    • 3.水印的透明度
    • 4.水印直接的间隔
    • 5.水印旋转角度
  • 总结

前言

大家好,我是空空star,本篇给大家分享一下通过Python的filestools库给图片添加全图水印。

一、filestools库简介

filestools目前包含四个工具包,分别是树形目录显示、文件差异比较、图片加水印和curl请求转python代码。

二、安装filestools

pip install filestools

三、查看filestools版本

pip show filestools

Name: filestools
Version: 0.1.3
Summary: 仿Linux的tree命令、文件差异比较工具、图片加水印和curl请求转python代码。
Home-page: UNKNOWN
Author: 小小明
License: GPLv3
Requires: cchardet, Pillow, pyperclip, rich
Required-by:

四、图片添加全图水印

1.引入库

from watermarker.marker import add_mark

2.添加水印

add_mark(file="demo.jpg",
         out="out",
         mark="空空star",
         color="white",
         size=30,
         opacity=0.3,
         angle=45,
         space=75)

3.效果

五、参数调整对比

1.水印颜色

默认#8B8B1B

1.1通过名称设置颜色

# 通过RGB值设置颜色-红色
color = (255, 0, 0)

1.2通过RGB值设置颜色

# 通过RGB值设置颜色-红色
color = (255, 0, 0)

1.3通过十六进制设置颜色

# 通过十六进制设置颜色-绿色
color = '#6FE000'

2.水印字体的大小

默认30

# 左size=30
# 右size=50

3.水印的透明度

默认0.15

# 左opacity=0.3
# 右opacity=0.6

4.水印直接的间隔

默认75个空格

# 左space=75
# 右space=100

5.水印旋转角度

默认30度

# 左angle=45
# 右angle=-45

总结

查看marker.py,可以发现,这个水印处理就是基于PIL库做的。也能看到水印字体的默认值。

从以下代码中,也可以看到相关参数的默认值。

def add_mark(file, mark, out="output", color="#8B8B1B", size=30, opacity=0.15, space=75, angle=30):
    if os.path.isdir(file):
        names = os.listdir(file)
        for name in names:
            image_file = os.path.join(file, name)
            add_mark2file(image_file, mark, out, color, size, opacity, space, angle)
    else:
        add_mark2file(file, mark, out, color, size, opacity, space, angle)

到此这篇关于通过Python的filestools库给图片添加全图水印的文章就介绍到这了,更多相关Python添加全图水印内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 拒绝盗图!教你怎么用python给图片加水印

    方式一:叠加文字水印 最简单的一种方式是,在图片上绘制半透明文本来实现水印效果. 主要用到Figure.text函数 参数 类型 说明 x, y float 叠加文本的位置坐标.,取值范围在 [0, 1]. s str 文本字符串. fontdict dict 可选 用于覆盖默认文本属性的字典.如果未给出,则默认值由 rcParams["font.*"]确定.作为kwargs传递的属性,会覆盖fontdict 中给出的相应属性. 叠加文字水印的代码如下 import numpy as

  • Python利用filestools模块实现水印添加

    在前面的文章中很早有写到关于添加水印的方法,但是过程还是较为复杂,最近发现的这款filestools非标准库其实真正实现添加水印的只要一个函数的调用,一行代码即可完成水印的添加. 通过watermarker模块的add_mark函数就能轻松完成对图片水印的添加,但是这里为了能够将其开发成一个可用的功能.里面加入了其他的业务代码块实现对批量图片完成水印添加. 话不多说,我们直接进入正题,还是使用pip的方式来完成对filestools非标准库的安装,这里我们使用的是豆瓣的镜像站进行安装. pip 

  • 运用python去除图片水印

    目录 OpenCV + Numpy 函数简介 色彩转换 PIL  + itertools 由于图片水印的种类有很多,今天我们先讲最简单的一种. 即上图中的①类水印,这种水印存在白色背景上的文档里,水印是灰色,需要保留的文字是黑色. 这种通常可以进行简单的亮度/对比度转换,直到水印消失并降低亮度以进行补偿[1].参考别人的方法,我发现可以用多种方法去除水印.大致原理比较相似,下面先讲OpenCV的方法. OpenCV + Numpy 本方法需要使用的库:cv2.numpy.cv2是基于OpenCV

  • Python批量图片去水印的方法

    ​平常工作中,有时为了采用网络的一些素材,但这些素材往往被打了水印,如果我们不懂PS就无法去掉水印,或者无法批量去掉水印.这些就很影响我们的工作效率. 今天我们就一起来,用Python + OpenCV三步去除水印,去水印需要使用的库:cv2.numpy.cv2是基于OpenCV的图像处理库,可以对图像进行腐蚀,膨胀等操作:numpy这是一个强大的处理矩阵和维度运算的库. 图片去水印原理 1.标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2.inRa

  • 通过Python的filestools库给图片添加全图水印的示例详解

    目录 前言 一.filestools库简介 二.安装filestools 三.查看filestools版本 四.图片添加全图水印 1.引入库 2.添加水印 五.参数调整对比 1.水印颜色 1.1通过名称设置颜色 1.2通过RGB值设置颜色 1.3通过十六进制设置颜色 2.水印字体的大小 3.水印的透明度 4.水印直接的间隔 5.水印旋转角度 总结 前言 大家好,我是空空star,本篇给大家分享一下通过Python的filestools库给图片添加全图水印. 一.filestools库简介 fil

  • C#实现给图片添加日期信息的示例详解

    实践过程 效果 代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string flag = null; PropertyItem[] pi; string TakePicDateTime; int SpaceLocation; string pdt; string ptm; Bitmap Pic; Graphics g; Thread td; private void

  • Python 使用 Pillow 模块给图片添加文字水印的方法

    像微博一类的平台上传图片时,平台都会添加一个水印,宣誓着对图片的所有权,我们自己的博客平台也可以给自己的图片添加上水印. 还是用 Pillow 模块来实现 先来看一个简单的例子 >>> from PIL import Image >>> from PIL import ImageDraw >>> >>> image = Image.open('/Users/wxnacy/Downloads/vm-error1.png') >&g

  • Python tkinter库绘制春联和福字的示例详解

    马上要过年了,用 Python 写一副春联&福字送给大家,本文我们主要用到的 Python 库为 tkinter,下面一起来看一下具体实现. 首先,我们创建一个画布,代码实现如下: root=Tk() root.title('新年快乐') canvas=Canvas(root,width=500,height=460,bg='lightsalmon') 看一下效果: 我们接着写上联,主要代码实现如下: for i in range(0,451): canvas.create_rectangle(

  • Python计算图片数据集的均值方差示例详解

    目录 前言 Python批量reshape图片 参考 计算数据集均值和方差 前言 在做图像处理的时候,有时候需要得到整个数据集的均值方差数值,以下代码可以解决你的烦恼: (做这个之前一定保证所有的图片都是统一尺寸,不然算出来不对,我的代码里设计的是512*512,可以自己调整,同一尺寸的代码我也有: Python批量reshape图片 # -*- coding: utf-8 -*- """ Created on Thu Aug 23 16:06:35 2018 @author

  • Python深度学习实战PyQt5窗口切换的堆叠布局示例详解

    目录 1. 堆叠布局简介 1. 1什么是堆叠布局(Stacked Layout) 1.2 堆叠布局的实现方法 2. 创建多窗口切换的堆叠布局 3. 堆叠布局的主程序设计 3.1 QStackedWidget 类 3.2 建立信号/槽连接 3.3 页面控制程序 3.4 堆叠布局中的控件操作 软件项目中经常需要多种不同的图形界面,以适应不同的任务场景.选项卡控件(QTackedWidget)通过标签选择打开对应的对话框页面,不需要另外编程.堆叠窗口控件(QStackedWidget)在主程序中通过编

  • Python实现双X轴双Y轴绘图的示例详解

    诈尸人口回归.这一年忙着灌水忙到头都掉了,最近在女朋友的提醒下终于想起来博客的账号密码,正好今天灌水的时候需要画一个双X轴双Y轴的图,研究了两小时终于用Py实现了.找资料的过程中没有发现有系统的文章,反正代码都整理出来了,我决定顺势水一篇. 目前找到的plt实现双X轴双Y轴绘图方式有两种: 使用fig.add_subplot方式将两对坐标系叠加在一个fig上实现双X轴双Y轴效果.所有调整均可完美实现,推荐该方式 通过axes.twinx().twiny()方式实现双X轴双Y轴图形绘制.问题在于对

  • GoJs 图片绘图模板Picture使用示例详解

    目录 前言 go.Picture的使用 go.Picture的属性 width.height.desiredSize属性 source属性 flip属性 imageStretch.imageAlignment属性 拓展 结语 前言 前面已经说过了通过go.TextBlock(文本)和go.Shape(集合图形)来丰富节点内部的显示内容.而有些时候需要在节点内部上传一些说明材料,恰好这些材料又是图片材料.如果拿图片和节点信息对照观看的话,一一对照会特别麻烦.如果能够在节点内部显示缩略图的话.在信息

  • Python教程通过公共键对不同字典进行排序示例详解

    利用 operator 模块中的 itemgetter 函数对这类结构进行排序. rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Beazley', 'uid': 1002}, {'fname': 'John', 'lname': 'Cleese', 'uid': 1001}, {'fname': 'Big', 'lname': 'Jones', 'uid': 100

  • Flutter Module添加到iOS项目示例详解

    目录 1. 创建flutter module 2. flutter 模块嵌入原生应用 3. flutter模块和原生通信 小结 1. 创建flutter module 摘要:我们实际开发开始作为混合开发,可能会把一个模块使用flutter开发,之后嵌入到iOS项目中.比如说我们的商城模块使用flutter开发,这样android和iOS都可以使用. 我们通常会把iOS项目和 flutter module在同一目录,我们创建一个商城的module flutter create --template

随机推荐