微信頭像自動添加五星紅旗,不用再@微信官方啦

廢話不多說,直接貼代碼

import cv2
import numpy as np
import itchat

itchat.auto_login()
friends = itchat.get_friends(update=True)
img_data = itchat.get_head_img(userName=friends[0]['UserName'])
img1 = cv2.imdecode(np.fromstring(img_data, np.uint8), cv2.COLOR_RGB2BGR)


#img1 = cv2.imread('C:/Users/G-CAN/headImages/photo.jpg')
img2 = cv2.imread('flag.png')
img1 = cv2.resize(img1,(950,950))
img2 = cv2.resize(img2,(270,250))
rows,cols,channels = img2.shape
rows1,cols1,channels1 = img1.shape
roi = img1[rows1-rows:, cols1-cols-10:-10 ]

img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
ret, mask = cv2.threshold(img2gray, 240, 255, cv2.THRESH_BINARY)
mask_inv = cv2.bitwise_not(mask)

img1_bg = cv2.bitwise_and(roi,roi,mask = mask)

img2_fg = cv2.bitwise_and(img2,img2,mask = mask_inv)

dst = cv2.add(img1_bg,img2_fg)
img1[rows1-rows:, cols1-cols-10:-10 ] = dst

cv2.imshow('res',img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite("my_new_photo.jpg", img1)

代碼主要通過itchat登陸微信,獲取微信個人頭像後,使用opencv進行位圖的疊加,邏輯比較簡單。
下面附加國旗圖片和效果圖
國旗圖片
結果圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章