有没有办法让perceptualdiff的输出类似于ImageMagick的输出,而不是如下所示的类似黑暗的xray图像?
perceptualdiff输出
ImageMagick输出
答案 0 :(得分:2)
似乎我最初误读了OP的问题。他希望获得像ImageMagick的compare
产生的输出,尽管来自不同的工具perceptualdiff
。我把它误认为并回答好像他想要一个来自ImageMagick的perceptualdiff
- 输出!
在此问题之前,我根本不知道 perceptualdiff 。
在downloading it之后很快就玩了,我看不出有 任何 选项来调整其输出“delta”图像看起来像ImageMagick的compare -compose src-over
!
perceptualdiff网站链接到一些据称描述其使用的算法的论文及其优点。我没有时间阅读它......
为了未来的读者的利益,我会将原来的答案保留在原文的下方。
由于OP的质量思想并不关心提供任何输入图像,让我们创建自己的...结果如下:
它们之间有区别吗?我们看看......
compare
命令如果您在没有任何选项的情况下致电compare
,ImageMagick将隐式为合成应用-compose src-over
设置:
compare \
http://i.stack.imgur.com/xLyrE.png \
http://i.stack.imgur.com/uHQjz.png \
delta1.png
此比较的结果,delta1.png
是左下方的图像。请注意以下事实:
delta1.png
将“原始”图像(即命令行中提到的第一个图像)作为一个有点模糊的背景图像添加到合成增量图像中。
在前景中是第二张图像与原始图像不匹配的红色像素。
compare
-highlight-color
似乎边框像素也不同。然而,我们的眼睛可能会被输入图像已经有红色边框的事实所欺骗。所以让我们运行一个稍微修改过的命令:
compare \
http://i.stack.imgur.com/xLyrE.png \
http://i.stack.imgur.com/uHQjz.png \
-highlight-color green \
delta3.png
生成的图像位于右侧下方。如您所见,“diff”像素现在为绿色。到目前为止,两个“delta”PNG都提出了两个主要区别:
compare
-lowlight-color
为了更接近OP的所需输出,我们可以添加-lowlight-color black
并将高亮颜色更改为白色:
compare \
http://i.stack.imgur.com/xLyrE.png \
http://i.stack.imgur.com/uHQjz.png \
-highlight-color white \
-lowlight-color black \
delta2.png
结果如下,左侧。看起来已经与OP想要的相似,不是吗?
compare
与-compose MinusSrc
另一个类似的输出是通过修改隐式合成模式并用-compose minussrc
替换它来生成的:
compare \
http://i.stack.imgur.com/xLyrE.png \
http://i.stack.imgur.com/uHQjz.png \
-compose minussrc \
delta-minussrc.png
结果如下右图所示。
compare
ImageMagick内置了超过5种构图模式。以下命令全部列出:
convert -list compose
您将看到以下列表:
上尚 混合 模糊 Bumpmap ChangeMask 明确 ColorBurn ColorDodge 上色 CopyBlack CopyBlue CopyCyan CopyGreen 复制 CopyMagenta CopyOpacity CopyRed CopyYellow 变暗 DarkenIntensity DivideDst DivideSrc DST 区别 顶替 溶解 歪曲 DstAtop DstIn DstOut DstOver 排除 HARDLIGHT HardMix 色调 在 减轻 LightenIntensity LinearBurn LinearDodge LinearLight Luminize 数学 MinusDst MinusSrc 调制 ModulusAdd ModulusSubtract 乘 没有 退房 覆盖 过度 PegtopLight PinLight 加 更换 饱和 屏幕 柔光 SRC SrcAtop SrcIn SrcOut SrcOver VividLight XOR
如果你很好奇,可以轻松测试它们。以下命令为每个创建一个增量PNG:
convert -list compose \
| while read compositionmode ; do
compare \
http://i.stack.imgur.com/xLyrE.png \
http://i.stack.imgur.com/uHQjz.png \
-compose ${compositionmode} \
delta-${compositionmode}.png
done
(注意,上面提供的输入文件不一定是展示相应合成模式的功能和优点的最佳文件。)