別再@官方啦,普天同慶加國旗,10行程式碼搞定

  • 2019 年 10 月 7 日
  • 筆記

國慶就要來了!今年是新中國成立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,電腦視覺開發利器

最後,提前祝大家國慶快樂!祝福祖國繁榮昌盛!