摘要:某寶一年一度的集五?;顒痈浅蔀槊磕甑谋貍浠顒印=衲暝賮韺ΩW肿鑫恼拢菔鞠氯绾斡玫膱D像處理功能,把一幅福字圖片轉出種不同的效果最圖像處理最常用的兩個模塊是和,這里我們選擇。輪廓福使用了自帶的圖像輪廓提取功能。
快過年了,各種互聯網產品都出來撒紅包。某寶一年一度的集五福(shua hou)活動更是成為每年的必備活動。雖然到最后每人大概也就分個兩塊錢,但作為一個全民話題,大多數人還是愿意湊湊熱鬧。畢竟對于如今生活在大城市的人來說,集福領紅包和空蕩的地鐵車廂或許已是最大的“年味”了。
既然是湊熱鬧,怎么能少得了我。前年過年發過一篇:《一行代碼掃出“敬業?!薄?,介紹的是 OCR 文字識別 的使用。今年再來對“?!弊肿鑫恼?,演示下如何 用 python 的圖像處理功能,把一幅“?!弊謭D片轉出 5 種不同的效果 :
python 最圖像處理最常用的兩個模塊是 PIL 和 OpenCV ,這里我們選擇 OpenCV。
讀取圖片及展示代碼:
import cv2 from matplotlib import pyplot as plt img = cv2.imread("fu.png") # 轉換顏色模式,顯示原圖 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) plt.imshow(img) plt.show()
因為 OpenCV 和 matplotlib 的 顏色模式 不一樣,所以需要做一次轉換,如果是直接通過 cv2 展示和保存圖片則不需要。
上面的效果分別用到了以下功能:
1、灰度福
這里沒有選擇直接將圖片轉出灰度圖,因為這樣會導致福字不明顯。而是通過將 紅、綠、藍三通道分離 后,選擇色差最大的紅色通道。
r,g,b = cv2.split(img)
2、輪廓福
使用了 OpenCV 自帶的 圖像輪廓提取 功能。為了更好的效果,這里 對紅色通道進行二值化 后,再查找輪廓。
_, img_bin = cv2.threshold(r, 50, 255, cv2.THRESH_BINARY) _, contours, _ = cv2.findContours(img_bin, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) img_cont = np.zeros(img_bin.shape, np.uint8) cv2.drawContours(img_cont, contours, -1, 255, 3)
3、反色福
發色的實現是將每個像素值 x 轉成 255-x。如果遍歷像素計算會比較慢,于是用了一個小技巧: 轉成 numpy 的 ndarray 再進行矩陣運算 。
img_i = np.asarray(img) img_i = 255 - img_i
4、膨脹福
這里其實是“ 圖像腐蝕 ”操作(與“ 圖像膨脹 ”操作相反)。因為在我們選取的紅色通道中,白色是背景,黑色才是福字,所以對白色的“腐蝕”也就是對黑色的“膨脹”。這也是 OpenCV 的內置功能。做完這一步,又對圖像進行了切割,直接通過列表的切片操作實現。
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(25, 25)) eroded = cv2.erode(r, kernel) size = img.shape eroded = eroded[int(size[1]*0.15):int(size[1]*0.7),int(size[0]*0.2):int(size[0]*0.85)]
5、福到了
OpenCV 提供了 翻轉 操作,第二個參數是 旋轉軸 的選取,你可以試試 0 和 1 的效果。
img_r = cv2.flip(img, -1)
完整代碼可以在公眾號( Crossin的編程教室 )里回復關鍵字: 五福
以上就是我送給大家的 5 個福。試過了,都能被掃出來。我已集齊
如果你還沒湊齊,可以掃這個圖。祝大家新年有福氣!
════
其他文章及回答:
如何自學Python | 新手引導 | 精選Python問答 | Python單詞表 | 人工智能 | 爬蟲 | 我用Python | requests | 計算機視覺 | 字符播放器 | 一圖學Python | 智能防擋彈幕
歡迎搜索及關注公眾號: Crossin的編程教室
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43125.html
摘要:全時關店潮氪獲得的一份內部資料顯示,自去年月以來,全時便利店在北京關店約家截至月日,全時在北京的店鋪還有家左右。這意味著該輪關店比例超過。 本博客 貓叔的博客,轉載請申明出處 前言 本系列為貓叔綜合整理的Java面試題系列,如有雷同不勝榮幸。 前言 本系列主要是貓叔對互聯網相關產品(兼任產品經理)路上的視野擴展與信息記錄,每日三篇,記錄分享。 全時關店潮 36氪獲得的一份內部資料顯示,...
摘要:本文介紹支付寶中的深度學習引擎。因而無論在運行速度和內存占用等性能指標還是在兼容性上,支付寶的移動端都必須做到極致,才能較大幅度地降低使用門檻。五大目標支付寶是針對國民環境定制開發的移動端解決方案,項目制定了如下技術目標。 本文介紹支付寶App中的深度學習引擎——xNN。xNN通過模型和計算框架兩個方面的優化,解決了深度學習在移動端落地的一系列問題。xNN的模型壓縮工具 (xqueeze) ...
摘要:每年支付寶在雙和雙的活動中,都展示了絕佳的技術能力。對于異步并發重復消息的處理亦是如此,加深對狀態機的判斷后還可以處理消息亂序問題。 每年支付寶在雙11和雙12的活動中,都展示了絕佳的技術能力。這個能力不但體現在處理高TPS量的訪問,更體現在幾乎不會出錯,不會出現重復支付的情況,那這個是怎么做到的呢? 誠然,為了實現在高并發下仍不會出錯的技術目標,支付寶下了很多功夫,比如冪等性的處理,...
摘要:每年支付寶在雙和雙的活動中,都展示了絕佳的技術能力。對于異步并發重復消息的處理亦是如此,加深對狀態機的判斷后還可以處理消息亂序問題。 每年支付寶在雙11和雙12的活動中,都展示了絕佳的技術能力。這個能力不但體現在處理高TPS量的訪問,更體現在幾乎不會出錯,不會出現重復支付的情況,那這個是怎么做到的呢? 誠然,為了實現在高并發下仍不會出錯的技術目標,支付寶下了很多功夫,比如冪等性的處理,...
閱讀 2652·2021-09-09 09:33
閱讀 2810·2019-08-30 15:54
閱讀 2867·2019-08-30 14:21
閱讀 2356·2019-08-29 17:15
閱讀 3580·2019-08-29 16:13
閱讀 2759·2019-08-29 14:21
閱讀 3422·2019-08-26 13:25
閱讀 2028·2019-08-26 12:14