马赛克作为画幅不够大的解决方案,被广泛运用,从科研到创作都有涉及。
在Pi中,默认的马赛克Process并不能满足绝大多数马赛克的需求,非常容易出现星点不自然(黑坑),衔接明度梯度等问题。由于算法的劣势,又有很多新的算法被开发,其中最好用、广泛的就是Photometricmosaic的script。这个script能解决大多数马赛克的问题,但是,有些特殊的情况下,这种方案会完全没办法正常运行
1、衔接区域有高光
这会导致背景计算的参数出现较大偏差,从而出现明显梯度
2、两个区域为角对角式的马赛克
这会导致马赛克的区域overlap计算出错,从而截去需要的信号
看下这个素材
在Solve好坐标后,用Mosaic by coordinates 创建的两张registered过的图像,如下所示

如果直接用Pmm的话,效果如下

无论怎么调参数,因为核心在overlap,明度总是不对的
难道这个素材就这么丢了吗?
no,我为这个素材开发了一个新的方法,只要几个简单步骤,就能让这个素材死而复生——古法拼接
1、打开rangemask,在最后一个小数点把0换成1,生成一张区域蒙版如下


然后用max函数生成一张重叠图
函数如下max(a,b)
a、b为rangemask

在这张图上进行裁切去黑边,然后将裁切的process应用于两张原始图和mask图
之后,再用pixelmath的min函数,生成一张重叠区域的rangemask
函数为min(a,b)
然后看下重叠部分的尺寸,这边的素材是从3600到4000左右,也就是400pixel的大小
之后打开convolution
因为convolution的算法,其他默认,只改变StdDev的话,convolution的范围是从边界向上2倍到3倍左右的范围被影响,向下3到4倍被影响,所以400pixel的话,100pixel就足够了,这个Stddev可以按照Overlap的大小来调整

之后打开Histogram Transformation,或者用Pixelmath 的truncate的函数,这里就用HT来演示
将Shadows设置为0.5,这个就是原来边界的值,这样可以防止边界干扰下方图片形成线条状的Error
然后看Overlap的最高点的值,这个值输入Highlights,保证原有的图不被拼的图干扰
Highlight也可以图方便多截取一点,只是可能会稍不自然一些

这里Highlight没必要裁切,因为接壤处mask的值已经是1了,就不管了
之后给图像应用蒙版并反相,如图

之后,可以用上一期Ha同步R的方法同步明度信号,但我更推荐用DNA linearfit做匹配,在匹配前一定要把两边都做好DBE,防止出现拼接的地方的不自然
然后就要请出DNA linearfit这个插件来同步两个通道的明度了

然后就是拿出Pixelmath,输入下方要拼接的文件名,相当于做一个带蒙版的图像替换
在图像替换的过程中,还要加入一个系数,因为DNA linearfit没法完全完美的匹配,我这个里面的系数是x-0.00005左右,x是要拼的图,我没微调,反正能看不出接缝即可
最终效果如下

相比较之下,手搓简直完美
还有就是RGB要注意要在MBC之前先去边,然后MBC之后再次去边才行,否则容易出现断口
然后这个也同样适用于对角线马赛克或者多素材马赛克,只要能造出mask,想怎么搓都行
