分离星点后期流的最后一块拼图:UNSCREEN STARS

0Mmnr.jpg

StarXTerminator 在较新的版本中引入了一个选项 Unscreen Stars,我在上一篇文章中便已经提到过。这选项的作用对部分新手来说可能会有点不好理解,但实际上确是 SXT 的一个大杀器,可以说是完善“分离星点后期流”的最后一块拼图。

“分星流”当然是我胡扯的一个名字,正如我在谈论反卷积时引入的“开心流”的做法一样,只是粗暴地将习惯在深空图像后期处理时分离星点的人打上同一个标签而已。

相比起使用星点蒙版来分割开星点和其他结构,使用深度学习训练过的插件直接从图像中提取并分离出星点是一种效率更高、对使用者操作熟练度要求更低的方法。自从 starnet 横空出世到现在 Starnet2 大战 SXT v2,一键去星、一键星点蒙版已经成为部分 PI 用家的标准操作,甚至包括我自己都快忘了上一次打开 StarMask 做星点蒙版是什么时候了。

然而,分星流一直有个不好解决的难题:在非线性阶段,分离出来的星点重新贴回经过处理之后的背景时(通过 PixelMath 公式“无星图+星点图“),星点会出现不够自然的形态。

0MpDM.jpg

为什么会出现这种情况呢?

举个例子,一个星点里面的某像素点,其 K 值为 0.9475,使用去星插件分离出星点之后,此像素点在无星图和星点图中的 K 值分别为 0.2212 和 0.7263。

如果这片区域是星云结构,你对它进行合乎常理的提亮操作后,假设此像素点的 K 值变成 0.3524,那么当你贴回星点图时,此像素点的 K 值便为 0.3524 + 0.7263 = 1.0787,超过了 1,整个星点大面积过曝,如上图所示。

相反,如果这里是一片背景,你把这片压暗后,假设上述像素的 K 值变成 0.1027,那么贴回星点后的 K 值便是 0.1027 + 0.7263 = 0.8290,这样的星点会显得暗淡无光。

0MJ6G.jpg

新版 SXT 的 Unscreen Star 选项恰好能够解决这个难题(如果没看到此选项,那意味着你需要更新 SXT 插件)。使用方法如上图所示:SXT 插件中勾选 Generate Star Image,勾选 Unscreen Stars,然后再对非线性图像使用。

等你处理完无星图之后,使用以下 PixelMath 公式把星点贴回去:

~((~L)*(~L_stars))

其中,“L” 和 “L_stars” 需要替换成相对应的无星图和星点图的标识名。

0MRk1.jpg

公式中的“~”在 PixelMath 里是反相符号, ~L 相当于 (1 – L),因此这个公式也可以写成:

1-((1-L)*(1-L_stars))

这个公式完整的解读就是:无星图的反相乘以星点图的反相,然后再反相。

以下两组对比即可看出 Unscreen Stars 的效用:

无星图进行了曲线拉亮处理。左边为停用 Unscreen Stars 选项,使用普通加法贴回星点;右边为启用 Unscreen Stars,使用正文提到的公式贴回星点。

无星图进行了曲线压暗处理。左边为停用 Unscreen Stars 选项,使用普通加法贴回星点;右边为启用 Unscreen Stars,使用正文提到的公式贴回星点。

可以看出,启用 Unscreen Stars 并且用上述公式贴回星点的效果,比普通流程的效果要自然得多。至此,分星流的同学们可以尽情地对无星图执行更为粗暴的后期操作了。

最后要注意的是, Unscreen Stars 是否启用只会影响生成的星点图,而无星图则不会受到影响。

(全文完)

1 thought on “分离星点后期流的最后一块拼图:UNSCREEN STARS

  1. 一只神奇的修 says:

    去星锐化钉子户感谢肥佬,以前用加法每次都过曝,困扰了好久,谢谢肥佬的算法!

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注