Mathematica打包
下面的应用将斑点图像应用于随机图像。单击“新补丁”会生成一个新的随机图像以供使用,然后根据当前设置应用效果。效果包括油画,高斯滤镜,后代化和浮雕。每个效果都可以独立调整。随机数生成器的种子可以是1到2 ^ 16之间的任何整数。
更新:高斯滤镜可柔化边缘,现在是应用的最后一个图像效果。通过此修改,不再需要后代效果,因此可以将其删除。
Manipulate[
GaussianFilter[ImageEffect[ImageEffect[r, {"OilPainting", o}], {"Embossing", e, 1.8}], g],
Button["new patch", (SeedRandom[seed] r = RandomImage[1, {400, 400}])],
{{o, 15, "oil painting"}, 1, 20, 1, ContinuousAction -> False, Appearance -> "Labeled"},
{{e, 1.64, "embossing"}, 0, 5, ContinuousAction -> False, Appearance -> "Labeled"},
{{g, 5, "Gaussian filter"}, 1, 12, 1, ContinuousAction -> False, Appearance -> "Labeled"},
{{seed, 1}, 1, 2^16, 1, ContinuousAction -> False, Appearance -> "Labeled"},
Initialization :> (SeedRandom[seed]; r = RandomImage[1, {400, 400}])]
说明
解释基于稍有不同的版本,在该版本中采用了后代化,并GaussianFilter
在早期应用。但这仍然有助于阐明每种图像效果如何改变图像。最终结果是具有更锐利边缘的油漆纹理。当仅在最后应用高斯滤波器时,结果将更加平滑,如上图所示。
让我们来看一些图像效果,一次。
生成起始图像。
r = RandomImage[1, {200, 200}]
莉娜(Lena)将向我们展示每种图像效果如何转变出逼真的图像。
Lena = ExampleData[{"TestImage", "Lena"}]
将油画效果应用于Lena。
ImageEffect[Lena, {"OilPainting", 8}]
油画效果应用于我们的随机图像。效果增强(从16代替8)。
r1 = ImageEffect[r, {"OilPainting", 16}]
将高斯滤镜效果应用于Lena(不适用于Lena的油画效果版本)。半径为10像素。(在最终版本中,在此条目的顶部,将应用GaussianFilter作为最终效果。)
GaussianFilter[Lena, 10]
对r1施加了稍微温和的高斯滤波效果。半径为5个像素。
r2 = GaussianFilter[r1, 5]
强烈的后代化效果应用于Lena。(在应用程序的最终版本中,我删除了后继化。但是我们将其保留在分析中,因为分析中的示例基于具有后继化的早期版本。)
ImageEffect[Lena, {"Posterization", 2}]
后代化效果应用于r2。
r3 = ImageEffect[r2, {"Posterization", 4}]
压花莉娜
ImageEffect[Lena, {"Embossing", 1.2, 1.8}]
压印r3完成图像处理。这旨在看起来像OP的天花板。
ceilingSample = ImageEffect[r3, {"Embossing", 1.2, 1.8}]
出于好奇,这里是应用了相同图像效果的莉娜。