别再@官方啦,普天同庆加国旗,10行代码搞定

国庆就要来了!今年是新中国成立70周年,大家的热情都很高涨。这不,我今天一翻朋友圈,被齐刷刷地带国旗的头像给刷屏了!

不过还有些朋友不明就里,还在不停地@微信官方,希望能自动给头像加上一面国旗。然而等了半天,还是毫无反应……

其实不用那么麻烦啦,咱们都是有 Python 的人,图片拼接这种事,分分钟就可以了。

话不多说,直接上代码:

# -*- coding: utf8 -*-import cv2# 读取头像和国旗图案img_head = cv2.imread('head.jpg')img_flag = cv2.imread('flag.png')# 获取头像和国旗图案宽度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)

这么多,就OK了。

你只需要把这个代码copy到本地的一个py文件中并保存,然后在目录下放上一张头像图片和国旗图片,并把代码中的head.jpg和flag.png分别改成其文件名,然后用python执行此py文件即可。

效果展示:

(小知识:被遮盖部分的二维码依然不影响扫码)

求人不如求己,掌握python就是节约生命!

实现基本思路:

1. 读取进头像和国旗的图片

2. 根据头像和国旗的长宽,我们计算下图案需要缩放多少比例

3. 通过像素替换,将缩放后的国旗图案添加到头像图片的右下角

我们用了 python-opencv 库来处理图像,使用前需要安装。

关于 opencv 和图像处理,还可以看看我们之前的文章:

平安夜,Python送你一顶圣诞帽 @微信官方

OpenCV-Python,计算机视觉开发利器

(0)

相关推荐