恭賀新春,線描動畫製作
再過一個小時就要跨年了,感謝過去一年大家的支持與陪伴,在狗年即將到來之際,閑來無事,做一個小玩具,送給大家,也祝願大家狗年萬事如意,心想事成。
線描轉GIF動畫
這是一張線描圖,我們試著將其轉為gif動畫,模擬一筆一筆繪製出來的過程。
思路:
其實這裡比較難的是如何模擬一筆一筆的繪製過程,我們用骨架與拓撲重建得到筆畫關係,然後得到一筆一筆的筆畫。
這樣一來我們得到了筆畫,但是骨架並不能體現筆觸,也就是沒有粗細,為了解決這個問題,我們對原圖進行距離變換,用骨架對應距離圖的值,當作該處的半徑,這樣我們就有了筆觸。
ImagePy操作
- File > Open 打開圖像
- Image > Type > 8-bit 轉8位
- Image > Duplicate 複製圖像
- Image > Adjust > Threshold 閾值為二值圖像
- Edit > Invert 圖像求反
接下來是非常重要的一步操作,Plugins > Games > Stroke Step,我們得到了一個圖像棧。
Edit > Invert 將筆畫圖像棧求反,然後 Process > Image Caculater,與原圖求min。
這樣以來,我們得到了用筆畫掩膜出的原圖,所有的質感,筆觸都保留了原圖的風格。
File > GIF > GIF Animate Save 將序列保存成GIF動畫。
其他事項
這個方法的適用範圍,線描圖都適用,尤其是中國畫風的白描作品,允許帶有粗細變化,但是不能有大塊的色調(主要是大面積色調無法拓撲重建,拆分筆畫)
但也存在一些問題,比如筆順基本是從上到下,對於一些簡單的圖,似乎看起來比較合理,圖像一旦複雜,或者分多個物體,從上到下的繪製順序不是很符合繪畫習慣。
演算法還有很多可改進的空間,比如筆順可以根據連接關係,線條粗細,深淺做綜合排序,而不是簡單的從上到下。好了,畢竟只是作為一個玩具,以後有時間再繼續完善。最後祝大家新年快樂,新的一年會再接再厲,完善ImagePy軟體,規範相關的文檔,也請大家繼續支持。
紀念過去,展望未來
ImagePy軟體漸漸成熟,2018重點將會漸漸轉移到文檔的規範化。同時圖像處理入門書籍的編寫也進入到最後階段,解釋請大家多多拍磚。
祝大家新年快樂!狗年萬事如意,心想事成!!!
推薦閱讀: