我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python如何在人物图中添加水印

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python如何在人物图中添加水印

这篇文章给大家分享的是有关python如何在人物图中添加水印的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

python有哪些常用库

python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

1、主要流程

素材准备

人脸检测与人脸关键点检测

调整大小,添加帽子

2、步骤

(1)用dlib的正脸检测器进行人脸检测,用dlib提供的模型提取人脸的五个关键点:

# dlib人脸关键点检测器      predictor_path = "shape_predictor_5_face_landmarks.dat"      predictor = dlib.shape_predictor(predictor_path)         # dlib正脸检测器      detector = dlib.get_frontal_face_detector()       # 正脸检测      dets = detector(img, 1)       # 如果检测到人脸      if len(dets)>0:            for d in dets:              x,y,w,h = d.left(),d.top(), d.right()-d.left(), d.bottom()-d.top()              # x,y,w,h = faceRect                cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2,8,0)               # 关键点检测,5个关键点              shape = predictor(img, d)              for point in shape.parts():                  cv2.circle(img,(point.x,point.y),3,color=(0,255,0))               cv2.imshow("image",img)              cv2.waitKey()

(2)调整帽子的大小。

选择两个眼角点,找到中心作为放置帽子的X方向的参考坐标,Y方向的坐标用面框上线的Y坐标表示。然后我们根据检测到的人脸大小调整帽子的大小,让帽子的大小合适。

# 选取左右眼眼角的点              point1 = shape.part(0)              point2 = shape.part(2)               # 求两点中心              eyes_center = ((point1.x+point2.x)//2,(point1.y+point2.y)//2)               # cv2.circle(img,eyes_center,3,color=(0,255,0))                # cv2.imshow("image",img)              # cv2.waitKey()               #  根据人脸大小调整帽子大小              factor = 1.5              resized_hat_h = int(round(rgb_hat.shape[0]*w/rgb_hat.shape[1]*factor))              resized_hat_w = int(round(rgb_hat.shape[1]*w/rgb_hat.shape[1]*factor))               if resized_hat_h > y:                  resized_hat_h = y-1               # 根据人脸大小调整帽子大小              resized_hat = cv2.resize(rgb_hat,(resized_hat_w,resized_hat_h))

(3)添加小图标

当然有些同学的头像不是人物或不能准确的识别无关,所有添加了标识。(即在右下添加小图标)。

小图标避免单调,是从图标中随机选择一个:

图标位置也可以根据爱好调整大小和位置

layer.paste(logo, (img.size[0] - logo.size[0], img.size[1]-logo.size[1]))

代码如下:

# 水印图片    num = random.randint(1, 5)    logo = Image.open("img_icon/santa_" + str(num) + ".png")    img = Image.open(imgPath)    print(img.size, logo.size)    # 图层    layer = Image.new("RGBA", img.size, (255, 255, 255, 0))    layer.paste(logo, (img.size[0] - logo.size[0], img.size[1]-logo.size[1]))    # 覆盖    img_after = Image.composite(layer, img, layer)    # img_after.show()    img_after.save(outImgePath)

感谢各位的阅读!关于“python如何在人物图中添加水印”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python如何在人物图中添加水印

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python如何在人物图中添加水印

这篇文章给大家分享的是有关python如何在人物图中添加水印的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pillow;
2023-06-14

Python如何为图片添加水印

添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载。网上有很多制作水印的工具,本帖介绍怎么使用Python-Pillow库给图片添加水印。 使用ImageMagick添加图片水印-Linux 添加文本水印 在图片右下角添加文
2022-06-04

Java如何在Excel中添加水印

这篇文章主要介绍了Java如何在Excel中添加水印,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示
2023-06-14

如何在PHP项目中实现图片处理和水印添加?

如何在PHP项目中实现图片处理和水印添加?近年来,随着互联网的快速发展,图片的使用在网页设计和应用开发中扮演了越来越重要的角色。为了满足用户对高质量图片的需求,我们需要在PHP项目中实现图片处理和水印添加的功能。本文将介绍一种简单而有效的方
如何在PHP项目中实现图片处理和水印添加?
2023-11-02

如何在大数据报表中添加文字水印

如何在大数据报表中添加文字水印,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。开源报表工具(比如 birt、ireport 等)基本上都得通过背景图变相实现水印,
2023-06-03

使用Python中PIL库给图片添加文本水印

有时候我们需要添加一定的水印以给自己的图片添加先关的标记,在Python中有相关的计算函数,下面这篇文章主要给大家介绍了关于使用Python中PIL库给图片添加文本水印的相关资料,需要的朋友可以参考下
2023-05-16

如何使用python给图片加水印

这篇文章主要介绍如何使用python给图片加水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方式一:叠加文字水印最简单的一种方式是,在图片上绘制半透明文本来实现水印效果。主要用到Figure.text函数参数类型说
2023-06-15

计算机中文件水印如何添加

小编给大家分享一下计算机中文件水印如何添加,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!文件水印的添加方法:首先打开wps软件,并导入需要加水印的文件;然后找到“插入”并且单击;接着点击“自定义水印”,并设置内容、大小、字
2023-06-14

利用Python怎么在图片的指定位置添加水印

利用Python怎么在图片的指定位置添加水印?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几
2023-06-06

怎么在html5中使用canvas给图片添加平铺水印

这篇文章将为大家详细讲解有关怎么在html5中使用canvas给图片添加平铺水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。var img = new Image();// 因为我项目中的
2023-06-09

golang中如何实现给gif、png、jpeg图片添加文字水印

小编给大家分享一下golang中如何实现给gif、png、jpeg图片添加文字水印,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾
2023-06-14

如何使用canvas实现给图片添加平铺水印

小编给大家分享一下如何使用canvas实现给图片添加平铺水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近项目中遇到一个需求,需要把一张图片加上平铺的水印类似
2023-06-09

如何添加或删除PDF文件中的水印

这篇文章将为大家详细讲解有关如何添加或删除PDF文件中的水印,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、怎样添加水印步骤一:在电脑中找到并打开我们需要使用的迅捷PDF编辑器,进入软件后把需要添加水印
2023-06-05

如何在GitLab中添加其他人

上传代码到GitLab是许多开发人员必备的技能,而添加其他人也是GitLab的重要特性之一。GitLab为开发团队提供了一个方便的平台,让各个团队成员可以实现共享代码并协同开发。本文将介绍如何在GitLab中添加其他人。首先,让我们了解一下
2023-10-22

Android中如何给任何view添加全屏倾斜水印

小编给大家分享一下Android中如何给任何view添加全屏倾斜水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果要实现如下效果目前有两种思路:1.先画出带有
2023-05-30

大数据报表中如何添加动态文字水印

大数据报表中如何添加动态文字水印,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。水印是把一些标识信息嵌入到信息载体中,在不影响原载体内容使用的同时,为原作者提供识
2023-06-04

如何在win7中添加网络打印机

这篇“如何在win7中添加网络打印机”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何在win7中添加网络打印机”文章吧。w
2023-06-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录