首页 > 解决方案 > MagickNET - 比较两张图片并仅显示差异,其余透明

问题描述

目标:比较两个 PNG 图像并创建一个仅包含更改的新图像(未以红色或任何内容突出显示),而 png 的其余部分是透明的。

            MagickImage newImg = new MagickImage(image2Path);

            MagickImage oldImage = new MagickImage(diffImagePath);

            oldImage.Compose = CompositeOperator.Difference;

            var diffimage = new MagickImage();

            using (var imgDiff = new MagickImage())
            {
                double diffd = newImg.Compare(oldImage, ErrorMetric.Absolute, diffimage);
            }

当比较两张相同的图片时,我最终得到的结果是相同的,但有点不透明。

任何帮助表示赞赏。

编辑:基本上我想结束的是这个。但是,我希望它是透明的,而不是具有白色背景的结果。 在此处输入图像描述

标签: c#.netimagemagickmagicknet

解决方案


在命令行 ImageMagick 中,这就是如何做到这一点的。抱歉,我不是 Magick.Net 用户。但翻译应该是显而易见的。

车1:

在此处输入图像描述

车2:

在此处输入图像描述

compare -highlight-color red -lowlight-color none -compose src car1.png car2.png diff.png

在此处输入图像描述


推荐阅读