㈠ 如果你忽然打了一個噴嚏,那一定是因為你不會用Python寫王心凌《愛你》字元畫啊!
在快節奏的現代生活中,王心凌的《愛你》成為了中年男孩的回憶,而00後卻在用Python創作字元畫。作為一個緊跟時代、寵愛粉絲的仙女,我怎能不帶領大家一同進步?今天,我們就來親手製作王心凌的字元畫,體驗從代碼到藝術的奇妙旅程。
字元畫是一種由字元組成的圖片藝術,通過不同字元表達各種顏色和層次感,它比手工繪制更高效。使用Python,我們僅需幾行代碼即可輕松實現這一轉變。讓我們開始吧!
**准備工作**
- 開發工具:PyCharm
- 開發環境:Python 3.7,Windows 10
- 使用工具包:PIL、cv2、numpy
讓我們先將項目思路明確定位,將王心凌的視頻轉化為字元畫視頻。首先准備一段王心凌的視頻,然後將其分解為單張圖片。字元畫本質上是將圖像轉換為字元的集合。
對每張圖片進行灰度處理,灰度數據只有黑白,便於控制顏色。將圖片數據轉換為數組,並通過k聚類演算法對圖像進行聚類劃分。根據亮度情況替換字元,亮度較高的使用數字,較暗的使用字元,將視頻中的圖片數據全部替換,最後將替換後的圖片組合成視頻。
**視頻拆分**
使用cv2.VideoCapture抽取視頻幀,使用read方式讀取幀,將數據保存在文件夾中,並以數字命名圖片,便於後續提取和使用。
**圖片轉換字元畫**
循環讀取文件夾中的所有圖片,通過cv2讀取圖片數據,獲取3通道RGB信息,進行灰度處理,使用numpy進行數據轉換,降維為類似列表的數據信息。應用kmeans演算法對圖像數據進行分類,設置矩陣中心數、最大迭代數和試錯等級,根據亮度數據替換字元,將字元繪入新畫布。
**視頻合成**
將所有圖片數據重新組合成視頻,注意視頻數據應盡可能小,幀數越細,生成的視頻越大,可能高達幾個GB。
**簡易源代碼分享**
快來動手實踐吧!如需更多Python相關資源,可直接獲取。