作者:闫霄龙_ImagePy
时空变换开始:
再过一个小时就要跨年了,感谢过去一年大家的支持与陪伴,在狗年即将到来之际,闲来无事,做一个小玩具,送给大家,也祝愿大家狗年万事如意,心想事成。
线描转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重点将会渐渐转移到文档的规范化。同时图像处理入门书籍的编写也进入到最后阶段,解释请大家多多拍砖。
记录一下,过去一年得到的认可
Image-Py/imagepygithub.com
祝大家新年快乐!狗年万事如意,心想事成!!!
以上是狗年的故事。
时空变换到猪年了,ImagePy也成长了很多,如图: