平滑带噪图像滤镜的最佳方法是什么?

时间:2019-03-31 09:11:39

标签: unity3d opengl image-processing shader hlsl

我目前正在尝试在Unity中重新创建Instagram的水彩效果。

Instagram:https://i.imgur.com/aMyEhjS.jpg

我的方法:https://i.imgur.com/9zIOQ7k.jpg

我的方法比较吵。这是产生效果的主要代码:

"content_scripts": [
 {
    "matches": ["<all_urls>"],
    "js": ["js/content_script.js"],
    "css": ["css/style.css"]    
 }
],

在Instagram实现这一目标时,哪种算法最适合此处的降噪和平滑处理?

1 个答案:

答案 0 :(得分:1)

水彩滤镜使用一种称为“均值平移分析”的方法来平均图像,同时保留特征。这是一种迭代方法,您可以使像素簇趋向于其平均值。

这是一个Java代码示例: https://imagej.nih.gov/ij/plugins/mean-shift.html

这里是描述水彩效果及其成分(包括边缘变暗)的论文: http://maverick.inria.fr/Publications/2006/BKTS06/watercolor.pdf

有一个带有CUDA和OpenCL实现的github项目,但是如果您想真正理解该算法,我将向您介绍此页面,该页面使用python代码非常简洁地对其进行了解释:

http://www.chioka.in/meanshift-algorithm-for-the-rest-of-us-python/

我脑海中的另一个选择是使用Sobel / Roberts交叉滤镜检测图像中的所有边界,然后将该值的倒数用作高斯模糊的蒙版。但是,它不会给您同样好的分层效果。