在Android中实现油画效果

4
我正在尝试实现一些照片效果,我尝试了不同的效果,如素描绘画效果、浮雕效果,现在我正在尝试实现油画效果。我发现了这个链接:http://supercomputingblog.com/graphics/oil-painting-algorithm/,但是对于我的水平来说,这太难理解了,请帮助我,或提供其他参考链接。

1
我明白您要求算法的描述,而不是代码。我找不到任何描述 - 有时我会在同时查看实现它的代码的情况下阅读算法的描述。这通常可以帮助我理解过程。如果您认为这可能对您有所帮助,请前往此处:http://www.jhlabs.com/ip/filters/,您可以下载滤镜及其源代码 - 其中包括油画滤镜。 :) - enhzflep
这里我最后给你提供的一个例子可能会对你有用:https://dev59.com/3m025IYBdhLWcg3wvIgo。你仍然需要构建你的OpenGL ES场景来使用该着色器,但是那里的着色器代码可以实现这种效果。 - Brad Larson
@Brad Larson,我尝试使用OpenGL,但对我来说太难了。我试图寻找一个简单的例子来入门,但是我找不到任何(像打开图像这样简单的)例子,你能给我一些建议吗? - Youddh
@Youddh - 不用担心,伙计,很高兴我能帮到你。享受吧 :) - enhzflep
@Youddh,请澄清您的需求。您是真的想要自己实现某些东西吗?还是希望有人为您的特定平台提供确切的代码以实现您想要的功能? - mmgp
显示剩余2条评论
2个回答

2

0

我认为使用一种名为“基于笔画渲染”(SBR)的技术最能模拟油画,这是由Aaron Hertzmann开创的。它已经存在了很长时间。无论您在Android还是其他操作系统上执行此操作,都没有太大区别。

您需要的是一个函数,它接受一个矩形和一个方向,并在当前画布上放置一个画笔笔画。画笔本身被定义为一组2个纹理灰度图像:一个用于不透明度,一个用于高度。您需要一个高度,以便可以在画布旁边创建凸起映射(渲染图像)。现在,困难的部分是获得好的纹理映射,使您的画笔看起来更真实。这就是您需要进行相当多的实验并查看哪种效果最好的地方。每个人都有自己的想法,认为什么样子最好。

要定义矩形及其方向,您可以使用图像矩。最终结果是,您的画笔笔画将会跟随物体的轮廓,这通常是艺术家所做的(但并非总是如此)。

无论如何,这种方法在这里得到了更好的解释(这是我的博客链接):

http://3dstereophoto.blogspot.com/2018/07/non-photorealistic-rendering-software.html

你可以尝试我编写的名为“画家”的软件(免费且适用于Windows 64位),以了解使用SBR可以做什么。也许这并不是你想要的。以下是软件链接(还包括卡通渲染和水彩渲染):

http://3dstereophoto.blogspot.com/p/painting-software.html

这是一个链接指向我的博客,主要涉及3D摄影。我也很喜欢绘画。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接