武大學生用Python敲出櫻花綻放 | 附源碼

又到一年櫻花開。

今年武漢大學的櫻花依然開得燦爛,但受疫情影響,少了很多去賞花的朋友。

爲了讓大家看到櫻花開放,各路高手紛紛亮出了自己的絕技。要說最秀的,當屬用Python讓櫻花開放。

一時間,“武大學生代碼敲出櫻花開放”登上了熱搜,閱讀3.2億、討論3.8萬,武漢大學、央視新聞等官號紛紛轉發。

 

四個小時搞定,用代碼爲武漢加油

這位“武大學生”是武漢大學2017級信息管理與信息系統本科生朱永春,他用代碼敲出的櫻花開放作品系採用Python創作。

櫻花放大後是一個個的“武漢加油”

據悉,朱永春同學曾在武漢大學官方微博擔任編輯,去年在參加由武漢大學官方微博策劃開展的“櫻花開放季-用專業向櫻花表白”活動中,他就曾用Python創作出了“用代碼畫櫻花樹”,反響良好。

談到這次創作,朱永春同學表示:“整個過程花了三四個小時,構思是以去年武漢大學官方微博發佈的櫻花初綻視頻作爲源視頻,逐幀提取像素信息之後,再賦上由‘武漢加油’組成的新圖片,而後重新拼接。”

這波神操作也得到了網友的一致認可,紛紛稱讚朱永春同學太優秀:

見證奇蹟的時刻,讓武漢如櫻花般綻放!

此外,爲了能讓大家在自己的電腦上實現櫻花開放全過程,武大微博開源了代碼,下面我們就動手親自實現一下。

首先我們看下項目結構 pic 文件夾下存放的是待處理的每幀圖片,new 文件夾爲處理後的圖片,video 文件夾爲生成的視頻。

主要用到的兩個 Python 包,OpenCV,PIL,如有報錯,通過 pip 安裝對應的包即可。小編將關鍵步驟做了註釋,下面簡單介紹下每個腳本的用處。cv2.py 主要用來將視頻幀保存爲圖片。

cv3.py 功能是用帶顏色的文字將所有原始圖片的像素替換,並保存到 new 文件夾下。

cv4.py 功能稍微複雜點,是用來將生成的圖片重新合成視頻。resort 函數用來重排圖片,因爲系統默認的排序可能會導致圖片順序錯誤,picvideo 函數將對應的圖片循環寫入視頻。

如果想製作自己的文字視頻,將對應的視頻放入 video 文件下,命名爲 video.avi 的話,就不用修改代碼了。

如果是其他格式視頻,修改 OpenCV 的讀取代碼即可。

準備工作做好,在當前目錄下打開命令行,windows 下用 Shift+右鍵即可看到。

最後依次在命令行執行 python cv2.py,python cv3.py,python cv4.py。在 video 文件夾下就生成新視頻了。

來一起欣賞下這部櫻花綻放爲武漢加油的視頻作品:

武大學生用Python敲出櫻花綻放

 

源碼下載

關注公衆號回覆“櫻花”獲取

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