我有两张(示意图)图像,我想突出显示其中一张图像之间的差异:
使用 imagemagick 我可以创建视觉差异,也可以将其叠加在第二张图像上:
compare schematic.png schematic-new.png -compose src diff.png
composite -blend 35% diff.png schematic-new.png schematic_diff.png
这几乎满足了我的要求,但差异图像中相同的部分并非完全透明,而是半透明的灰色。另外,这样blend
做也不合适,因为它也会给基础图像增加透明度。
那么:我如何创建差异图像,以便非差异部分完全透明,以及如何将其正确地叠加在基础图像上(甚至可能具有自定义透明度)?
为了避免一些非差异颜色出现在差异图像上,请添加
-lowlight-color none
专门将颜色设置为完全透明的选项:至于叠加图像,您基本上使用了唯一预定义的合成模式,该模式混合了透明度。例如,两者
-dissolve
在-watermark
将一个图层放在另一个具有透明度的图层上方面效果更好。这对我来说看起来相当不错,我认为接近您想要的:如果需要,降低
30
百分比。