文 | 野客
来源:Python 技术「ID: pythonall」
圣诞老人是西方神话里圣诞节前夜给小孩子赠送礼物的人物,在国内的圣诞节中,除了圣诞老人,苹果(平安果)也是一个特色元素,本文我们看一下如何使用 Python 给自己的微信头像加一个圣诞老人或苹果小图标。
实现
功能的实现我们用到的是 OpenCV 库,安装使用 pip install opencv-python
即可,实现的思路比较简单,就是将圣诞老人或苹果图片按一定比例缩放,之后再将其与头像进行合并即可,代码实现如下:
-
# 读取头像和圣诞老人图片
-
img_head = cv2.imread(
'head.jpg')
-
img_flag = cv2.imread(
'sc.jpg')
-
# 获取头像和圣诞老人图片宽度
-
w_head, h_head = img_head.shape[:
2]
-
w_flag, h_flag = img_flag.shape[:
2]
-
# 计算图案缩放比例
-
scale = w_head / w_flag /
4
-
# 缩放图案
-
img_flag = cv2.resize(img_flag, (
0,
0), fx=scale, fy=scale)
-
# 获取缩放后新宽度
-
w_flag, h_flag = img_flag.shape[:
2]
-
# 按
3 个通道合并图片
-
for c in
range(
0,
3):
-
img_head[w_head - w_flag:, h_head - h_flag:, c] = img_flag[:, :, c]
-
# 保存最终结果
-
cv2.imwrite(
'new_head.jpg', img_head)
先以圣诞老人为例,我们看一下效果。
圣诞老人如下:

头像如下:

实现效果如下:

接着再看一下苹果的示例,这里我们使用 Python 自己画一个苹果,使用的 Python 库是大家比较熟悉的 turtle,代码实现如下:
-
turtle.setup(
600,
600,
0,
0)
-
turtle.up()
-
turtle.
goto(
0,
-200)
-
turtle.down()
-
# 先画一个圆,并填充为红色
-
turtle.begin_fill()
-
turtle.color(
"red")
-
turtle.circle(radius=
150)
-
turtle.end_fill()
-
# 画苹果把
-
turtle.color(
"brown")
-
turtle.pu()
-
turtle.
goto(
-90,
0)
-
turtle.pd()
-
turtle.circle(
180,
40)
-
turtle.pu()
-
turtle.seth(
105)
-
turtle.
goto(
-20,
20)
-
turtle.pd()
-
turtle.circle(
180,
50)
-
turtle.pd()
-
# 画左边叶子
-
turtle.begin_fill()
-
turtle.color(
"green")
-
turtle.circle(
180,
50)
-
turtle.seth(
-30)
-
turtle.circle(
180,
55)
-
turtle.end_fill()
-
# 画右边叶子
-
turtle.begin_fill()
-
turtle.color(
"green")
-
turtle.seth(
0)
-
turtle.circle(
180,
50)
-
turtle.seth(
-180)
-
turtle.circle(
180,
50)
-
turtle.end_fill()
-
turtle.done()
效果如下:

最后,我们看一下合并后的头像效果:

总结
本文我们给大家演示了如何通 Python 给自己的头像加圣诞老人和苹果小图标,如果你喜欢这种风格的头像,可以自己加一下。
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
【代码获取方式】
识别文末二维码,回复:201224
转载:https://blog.csdn.net/weixin_48923393/article/details/111659513
查看评论