emmm,这个东西算是自己的一个日记吧。先记录一下起因吧,昨天学弟突然给我发过来一张图片,故事也就是从这张图片开始,从这张图片开始,我变得怀疑人生了。感觉自己好像学了一个假的图像处理技术,同时也发现原来关于图像处理我也不过是只看见了冰山一角,以前的自己还是太年轻了。不多比比,如上图所示。
先解释一下我为什么会怀疑人生,看左右两张图像的对比,我们会发现两张图像的主要区别:
所有边缘细节都保留了下来,颜色变同质,细小的纹理结构全部消失了。
那么问题来了,这个效果是怎么做到的?
我最初的设想是通过模糊核进行处理后的结果,因为我们可以清晰的看出边缘进行了平滑处理,那个时候认为的是,即使模糊核做不到这个效果,也可以通过利用滤波器将那些细小的纹理给干掉。
所以,稍微整理一下思路,如果将它看成是一道问题的话就可以概括为:
已知输入图像X,以及输出图像y,求满足条件的f,使得y=f(x)。
之后就是一顿实验操作看结果,具体的做法,由于我只有这一张图片,所以我先进行了截图:
就是这张图,利用截图给它截出来用作实验数据。
首先考虑的是高斯模糊核(GaussianBlur)对图像进行处理。做了4组实验,主要是3x3、9x9、15x15和27x27大小的模糊可处理,其中最有戏的是用27x27,但是此时边界也已经跟着变模糊了。
说实话,这个时候已经有点虚了,感觉这个事情模糊核可能搞不定了,但是本着对问题的探索精神,我决定硬着头皮继续走下去。
之后开始实验的是中值模糊(medianBlur),实验的为kernel_size为3、9和15。最好的结果应该算是15吧,但是它也是存在图像模糊严重的问题。
其实这个结果和上面的结果还是有很大差距的,主要的差距在于边缘特征信息如何保存?或者说处理的时候如何能即处理掉细小的纹理同时还能保存边缘的信息呢?
这个时候,我自然而然的想到了边缘保留滤波EPF。开搞~
第一个出现再面前的是双边滤波(bilateralFilter):
看见这张图片的第一反应我是虎躯一震,有戏哈,可以尝试调参继续修改结果,emmm,再看看别的。
第二个是利用均值迁移滤波(pyrMeanShiftFiltering)进行处理:
emmm,这个结果看着就比较舒服了。然而它和学弟发给我的那张图结果做对比,emmm,肿么唆呢,缺少了一些圆润性啊。脑阔疼,但是现在最起码方向找对了,它确实是一种保留边缘的算法,所以需要按照这个思路去继续进行下去。所以,对于这个图像的处理呢,还是未完待续......