对比下面两张图(从 http://hi.baidu.com/cwyalpha/blog/item/647745a9f33570f61e17a235.html 里翻出来的。。),漫画有3个特点: 1.边缘清晰,内部模糊(同色) 2.颜色少。 3.描边(桌沿,袋口,腿)
对下图做漫画处理。 将图像边缘保留的情况下内部模糊有几种方法,中值滤波,双边滤波。 测试中值滤波后有麻点感,效果一般。 双边滤波原理如下: 左边的高斯函数,给距离较近的点的像素值给了较高的权值,右边的高斯函数,给梯度较近的点的像素值给了较高的权值。这样在沟壑处不会出现模糊。而且高斯函数的沟壑高度参数合适的话,沟壑两边会越来越模糊,沟壑会越来越清晰。
对图片做多次双边滤波,把沟壑两边的色彩抹平 一次双边滤波:
四次:
八次:
多做几次,同区域颜色基本趋同,不过双边滤波速度太慢。8次差不多就可以进行量化减少颜色了。 RGB空间不适合做色差分析,转LAB空间在L上对色彩处理。 锯齿量化效果很差,如下,
做下图的量化处理 中间弯曲部分是tanh函数。
效果如下。
微分描边如下
canny如下
DoG如下
只有DoG能可调的保留连续边缘。
3步合起来如下
跳过量化操作的话是这种效果。
matlab, opencv, android-opencv都弄了遍。。就是双边滤波太慢了。有加速算法。有空找来看看。 |
|