前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >别再@官方啦,普天同庆加国旗,10行代码搞定

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

作者头像
Crossin先生
发布2019-09-25 15:56:28
6920
发布2019-09-25 15:56:28
举报
文章被收录于专栏:Crossin的编程教室

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

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

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

话不多说,直接上代码:

代码语言:javascript
复制
# -*- 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,计算机视觉开发利器

最后,提前祝大家国庆快乐!祝福祖国繁荣昌盛!


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档