Perlin噪声,如何检测明亮/暗淡的区域?

我需要一些关于Perlin噪声的帮助。

我想要创建一个随机地形生成器。我正在使用Perlin噪声来确定山和海应该放在哪里。从随机噪声中,我得到像这样的东西:

http://prntscr.com/df0rqp

现在,我该如何实际检测明亮和暗淡的区域呢? 我尝试使用 display.colorSample,它会返回像素的RGB颜色和alpha通道,但这并没有帮助我太多。

如果这只是白色和红色,我可以轻松地检测到亮区域在哪里(白色将非常大,红色将是小数字)以及相反。 然而,由于我有红色,绿色和蓝色,这使得这是一个困难的工作。

总之,我该如何检测白色和红色区域在哪里?

点赞
用户360270
用户360270

你这里存在一些基本的误解。Perlin噪声函数实际只适用于(x,y)→p。 [它也适用于更高的维度]。但你所看到的只是你的库做了好看的事情。噪声函数从两个实数映射到一个实数。它帮助通过将结果值p映射到色彩渐变来实现可视化,但这只是为了可视化。p不是颜色,只是另一个数字。直接使用这个数字!如果p<0,你可能会得到水。

2016-12-04 06:47:48
用户1979882
用户1979882

我建议这样做:

  1. 将图像的色调变成红色,就像这里所示。
  2. 使用红色通道来提取一些掩模。
  3. 可选:将最大/最小亮度缩放到0-255范围内。
2016-12-04 13:08:44