我正在尝试找出Photoshop“海报边缘”滤镜的组合效果。它似乎是边缘检测和分色的组合,但我无法复制它,甚至不能与它们复制,所以我想我错过了一些东西。下图显示了海报边缘滤镜之前和之后的相同图像:
我尝试在图像上进行分色(和量化),以及使用Sobel进行边缘检测,但显然Photoshop正在做一些不同的事情,因为结果非常不同。基本上,与photoshop过滤器相比,分色看起来非常不同,边缘非常弱。
所以有人知道如何实现海报边缘滤镜,或者知道应该采用什么图像处理来实现前者的后一种图像。
这并不重要,但我使用的是Java,我的图片过滤代码主要基于此处的过滤器:http://www.jhlabs.com/ip/filters/index.html
修改来自adobe.com的过滤器说明:
海报边缘根据您设置的海报化选项减少图像中的颜色数量(将其划分),并找到图像的边缘并在其上绘制黑线。宽阔的区域具有简单的阴影,整个图像中分布着精细的深色细节。
答案 0 :(得分:9)
关于边缘:我会假设Photoshop使用比简单导数滤镜(如Sobel)更复杂的边缘检测。有边缘检测算法试图仅找到“显着”边缘,即那些与人类视觉相关的边缘,人类艺术家在绘制线条草图时会绘制的边缘。朝这个方向(至少有点)的旧的(相当)简单的算法是Canny edge detector。你应该能够找到这个的实现。 Google为当前的研究文献提供了“突出的优势”,但不要指望在研究论文中实现或使用好的伪代码。
关于海报化:鉴于他们在SIGGRAPH的谈话,Adobe人员非常关注双边过滤(请谷歌,我不能再连接),这是一种保留重要优势的平滑技术。我想如果你应用双边过滤器并在之后进行分色,你应该更接近你想要的外观。不幸的是,有效地实施双边滤波器并非易事。
对仍然对此主题感兴趣的任何人的更新
我在上面建议的双边过滤器越来越多地被Guided filter取代,至少在计算机视觉社区中(人们似乎还没有实现过Guided过滤器的图形)。 Guided过滤器实现了类似的结果,但更容易有效实施。 Guided滤波器的精确算法是高效的,而有效的双边滤波需要近似或非常复杂的算法。
答案 1 :(得分:0)
我怀疑你必须在几个等级上做这个,以便过滤边缘响应。
答案 2 :(得分:0)
复制原始图像,然后应用PosterizeFilter
。然后将EdgeFilter
,GrayscaleFilter
和InvertFilter
应用于副本。最后将 posterized 原文与副本相乘。那时你应该有一些接近Poster edges
的东西。