国庆不一样!试试这款换头魔法棒
9的最后一天,你还好吗?
到有群友在玩儿国庆头像,我也跟风一把。
就是给定一个图片模板,然后把头像图片和模板合并起来。用cv就可以搞定。
我知道网上有挺多的,但是咱就是想自己搞它一把。
import cv2
import requests
import numpy as np
import random
def generate_gq_avatar(img_param):
flag = random.randint(1,16)
# print(flag)
if img_param.startswith("http"):
ori_img = requests.get(img_param).content
ori_img = cv2.imdecode(np.fromstring(ori_img, np.uint8),1)
else:
ori_img = cv2.imread(img_param)
flag_img = cv2.imread(f"{flag}.png", cv2.IMREAD_UNCHANGED)
# print(flag_img.shape)
# 合并图片
height, width = flag_img.shape[:2]
ori_img = cv2.resize(ori_img,(height, width))
for y in range(height):
for x in range(width):
alpha = flag_img[y, x,3]/255.0
if alpha >0:
ori_img[y, x]=(alpha * flag_img[y, x,:3]+(1- alpha)* ori_img[y, x])
cv2.imwrite(f"gq_{flag}.jpg", ori_img)
print("生成完成: ", f"gq_{flag}.jpg")
if __name__ =="__main__":
print("请输入图片路径或链接:")
img_param = input("")
generate_gq_avatar(img_param)
用那个 pyinstaller 打包一下,就是一个可以到处扔的exe运行文件了。
https://www.123684.com/s/Y4kqVv-pzCbv?提取码:64B1
使用起来也很方便。
下载上面就给的文件并解压出来。
图片双击这个 demo.exe 文件就运行起来了。
如果被你的安全守护者干掉了,请把你的守护教训一顿,然后把文件给还原。
运行后会提醒你输入本地图片路径或者图片链接。
如果本地图片,直接用鼠标拖到输入光标那就就行。
如果是图片链接,复制粘贴。
然后使用优雅的技巧敲下你的回车键。
图片然后在目录里可以看到一个 gh_xx.jpg 的图片,那就是你的国庆头像了。
当然了,如果你不满意,你可以继续用优化的方式重新生成。
图片如果你觉得这样还不够优雅,想使用一种浏览器来处理。那么我建议你去这里寻求度娘、G叔、bing哥,或者直接跟龙龙家那个绿色的爱皮皮交流。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
