gpt4 book ai didi

c# - Magick.net 比较

转载 作者:太空宇宙 更新时间:2023-11-03 10:32:39 26 4
gpt4 key购买 nike

我正在使用 Magick.NET (Q16-x64 v7.0.0.0011) 比较图像。当我使用 ImageMagick 的命令行版本并在没有任何特殊选项的情况下进行比较时,它会给出一个图像,其中相同的部分显示为亮背景,差异部分显示为红色。我试图在 Magick.NET 中复制这种行为。我尝试了以下代码:

var image1Path = @"D:\Compare Test\image1.jpg";
var image2Path = @"D:\Compare Test\image2.jpg";

var diffImagePath = @"D:\Compare Test\imageDiff.jpg";

using (MagickImage image1 = new MagickImage(image1Path))
using (MagickImage image2 = new MagickImage(image2Path))
using (MagickImage diffImage = new MagickImage())
{
image1.Compare(image2, ErrorMetric.Absolute, diffImage);
diffImage.Write(diffImagePath);
}

不过,我最终得到的是一个仅显示差异的文件。如果您使用“-compose src”运行命令行版本,这似乎是您会得到的结果。不同之处在于 SetHighlightColor 设置的是什么,图像的其余部分是根据 SetLowlightColor 的纯色。我尝试了几种不同的文件和文件格式,但结果相同。

请引用以下 SO 问题的答案中的“图示示例”:Diff an Image我得到的是第一个例子。我想要的是最后一个例子。

如有任何帮助,我们将不胜感激。

最佳答案

用于 last example 的 CLI compare 方法 是:

compare img1.png img2.png delta.png

这并没有显式地设置一个-compose 方法。这意味着,compare 使用了它的默认组合方法,即 SrcOver。所以命令更短,但等同于

compare img1.png img2.png -compose SrcOver delta.png

如果你有兴趣测试ALL可用的组合方法进行比较,你可以运行

compare -list compose

它应该返回一个类似这样的列表:

Atop Blend Blur Bumpmap ChangeMask Clear ColorBurn ColorDodge Colorize CopyBlack CopyBlue CopyCyan CopyGreen Copy CopyMagenta CopyOpacity CopyRed CopyYellow Darken DarkenIntensity DivideDst DivideSrc Dst Difference Displace Dissolve Distort DstAtop DstIn DstOut DstOver Exclusion HardLight HardMix Hue In Lighten LightenIntensity LinearBurn LinearDodge LinearLight Luminize Mathematics MinusDst MinusSrc Modulate ModulusAdd ModulusSubtract Multiply None Out Overlay Over PegtopLight PinLight Plus Replace Saturate Screen SoftLight Src SrcAtop SrcIn SrcOut SrcOver VividLight Xor

要实际查看这些方法的效果,试试这个(在 Mac OS X 或 Linux 上——DOS cmd/ *.bat 你必须自己想出):

for i in $(compare -list compose); do
compare img1.png img2.png -compose ${i} composed-with-${i}-delta.png
done

你会发现有很多有趣的效果有待发现:)

关于c# - Magick.net 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29359487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com