python实现水印生成器

本文实例为大家分享了python实现水印生成器,python制作图片水印的具体代码,供大家参考,具体内容如下

制作一个水印生成器,方便训练水印图片数据采集。
图片水印生成器,可以给指定图片文件或者目录添加水印,水印支持自定义文本、位置、颜色、大小。

# -*- encoding=utf-8 -*-
import time
from PIL import Image, ImageDraw,ImageFont,ImageEnhance

"""图片水印生成器,自定义文字,颜色,大小,位置"""

# 横向上方水印
def auto_make_watermark1(filepath,content,color,savefilepath):
    """
    :param filepath: 图片路径
    :param content: 水印文字
    :param color: 水印颜色
    :param savefilepath: 保存路径
    :return:
    """
    image = Image.open(filepath).convert('RGB')
    draw = ImageDraw.Draw(image)
    font=ImageFont.truetype("simsun.ttc", 40, encoding="unic",index=1)  # 设置水印字体
    draw.text((80, 200), content,color, font) # 设置水印位置
    image.save(savefilepath)

# 横向中间水印
def auto_make_watermark2(filepath,content,color,savefilepath):
    """
    :param filepath: 图片路径
    :param content: 水印文字
    :param color: 水印颜色
    :param savefilepath: 保存路径
    :return:
    """
    image = Image.open(filepath).convert('RGB')
    draw = ImageDraw.Draw(image)
    font=ImageFont.truetype("simsun.ttc", 40, encoding="unic",index=1)  # 设置水印字体
    draw.text((80, 400), content,color, font)   # 设置水印位置
    image.save(savefilepath)

# 横向最下方水印
def auto_make_watermark3(filepath,content,color,savefilepath):
    """
    :param filepath: 图片路径
    :param content: 水印文字
    :param color: 水印颜色
    :param savefilepath: 保存路径
    :return:
    """
    image = Image.open(filepath).convert('RGB')
    draw = ImageDraw.Draw(image)
    font=ImageFont.truetype("simsun.ttc", 40, encoding="unic",index=1)  # 设置字体
    draw.text((80,image.size[1]-150), content,color, font) # 设置水印位置
    image.save(savefilepath)

# 横向中间倾斜水印45度
def auto_make_watermark4(filepath,content,color,savefilepath,radio):
    """
    :param filepath: 图片路径
    :param content: 水印文字
    :param color: 水印颜色
    :param savefilepath: 保存路径
    :param radio: 水印倾斜角度
    :return:
    """
    im = Image.open(filepath)
    watermark = Image.new('RGBA', im.size)
    draw = ImageDraw.Draw(watermark, 'RGBA')
    font = ImageFont.truetype("simsun.ttc", 40, encoding="unic", index=1)
    # x y 坐标
    draw.text((80, 400), content, font=font,  fill=color)
    # 旋转45度
    watermark = watermark.rotate(radio, Image.BICUBIC)
    # 透明的
    alpha = watermark.split()[3]
    alpha = ImageEnhance.Brightness(alpha).enhance(0.7)
    watermark.putalpha(alpha)
    # 合成新的图片
    image2 = Image.composite(watermark, im, watermark)
    image2.save(savefilepath)

if __name__ == '__main__':
    time1=time.time()
    filepath=r'F:/img_spam/python添加水印/10064003738101263000320010013284.jpg'

    savefilepath='F:/img_spam/python添加水印/生成/'
    text="诚招发单人,vx:18668124728"
    colors=['red','green','black']

    for color in colors:
        auto_make_watermark1(filepath,text,color,savefilepath+'10064003738101263000320010013285'+'_'+color+'_'+'top'+'.jpg')
        auto_make_watermark2(filepath, text, color,savefilepath + '10064003738101263000320010013285' + '_' + color+'_' +'mmddle'+'.jpg')
        auto_make_watermark3(filepath, text, color,savefilepath + '10064003738101263000320010013285' + '_' + color +'_'+ 'down' + '.jpg')
        auto_make_watermark4(filepath, text, color,savefilepath + '10064003738101263000320010013285' + '_' + color+'_' + 'angle' + '.png',45)
        auto_make_watermark4(filepath, text, color,savefilepath + '10064003738101263000320010013285' + '_' + color + '_' +'angle_50' + '.png', -50)

    time2=time.time()
    print('总共耗时:' + str(time2 - time1) + 's')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python使用PIL模块实现给图片打水印的方法

    本文实例讲述了python使用PIL模块实现给图片打水印的方法.分享给大家供大家参考.具体实现方法如下: import Image, ImageEnhance def reduce_opacity(im, opacity): """Returns an image with reduced opacity.""" assert opacity >= 0 and opacity <= 1 if im.mode != 'RGBA': im

  • 如何利用python给图片添加半透明水印

    前言 本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 示例代码: # coding:utf-8 from PIL import Image, ImageDraw, ImageFont def add_text_to_image(image, text): font = ImageFont.truetype('C:\Windows\Fonts\STXINGKA.TTF', 36) # 添加背景 new_img = I

  • Python如何为图片添加水印

    添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载.网上有很多制作水印的工具,本帖介绍怎么使用Python-Pillow库给图片添加水印. 使用ImageMagick添加图片水印-Linux 添加文本水印 在图片右下角添加文字: from PILimport Image, ImageDraw, ImageFont # 指定要使用的字体和大小:/Library/Fonts/是macOS字体目录:Linux的字体目录是/usr/share/fonts/ font = ImageFon

  • python 实现图片修复(可用于去水印)

    在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以消除这些噪声呢? 答案是肯定的,依然是被我们用了无数次的OpenCV这款优秀的框架. 效果预览 图片修复原理 那OpenCV究竟是怎么实现的,简单的来说就是开发者标定噪声的特征,在使用噪声周围的颜色特征推理出应该修复的图片的颜色,从而实现图片修复的. 程序实现解析 标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进

  • 基于python的图片修复程序(实现水印去除)

    图片修复程序-可用于水印去除 在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以消除这些噪声呢? 答案是肯定的,依然是被我们用了无数次的OpenCV这款优秀的框架. OpenCV 目前,OpenCV逐步成为一个通用的基础研究和产品开发平台.OpenCV这一名称包含了Open和 Computer Vision两者的意思.实际上,Open指Open Source(开源,即开放源代码

  • Python基于pillow库实现生成图片水印

    一.背景 平时工作中经常需要使用各种尺寸.格式的图片来做测试,每次从百度或者谷歌找图都非常麻烦,于是就想作为一个程序员怎么能被这个问题影响效率呢,一切程序可以做的事情都应该用程勋来做并提升效率,这才是我们编程的意义所在. 二.实现 于是就想实现一个web版的图片生成器,填颜色.尺寸.格式就可以生成指定的图片,Python的图像库肯定首选pillow,实现起来很简单,所以就不详细解释了,直接上代码: def generate_image(static_dir, image_type, width,

  • Python实现图片批量加入水印代码实例

    这篇文章主要介绍了Python实现图片批量加入水印代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写文章的时候可以设置是否添加水印.可是,有些图片可能想加水印,有些不想加水印,该怎么办呢? 配置环境 python3 + pillow pip3 install pillow 引入库 from PIL import Image, ImageSequence import os import random 效果预览: 使用方法: 在脚本同目录

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

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

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

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

  • 运用python去除图片水印

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

随机推荐