本文主要是介绍[每日一题]35、利用Python在头像上加logo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python Every Day, 第 35 天
最近朋友圈有没有被请给我一面国旗@微信官方刷屏呢,今天我们用Python来实现一下这样的功能。这里用到了Python OpenCV库。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、MacOS操作系统上。它轻量级而且高效——由一系列 C 函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
安装:
pip3 install opencv-python
代码如下
import cv2
# 读取头像和logo ,是BGR 格式数据格式在 0~255
img_head = cv2.imread('/usr/local/python/test/wx_test/head.jpg')
img_logo = cv2.imread('/usr/local/python/test/wx_test/logo.png')
# 获取头像和logo的宽度
# shape 读取图像的具体形状
w_head, h_head = img_head.shape[:2]
w_logo, h_logo = img_logo.shape[:2]
# 计算图案缩放比例
scale = w_head / w_logo / 4
# 缩放图像
img_flag = cv2.resize(img_logo, (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('/usr/local/python/test/wx_test/new_head.jpg', img_head)
最终生成的img_head就是我们处理之后的图片
以上,便是今天的分享,希望大家喜欢,觉得内容不错的,欢迎点击「在看」支持,谢谢各位。
如需查看更多[Python Every Day]系列,请点击我的主页的【每日一题】菜单。

感谢您的阅读
这篇关于[每日一题]35、利用Python在头像上加logo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!