【发布时间】:2017-03-14 15:25:05
【问题描述】:
我想比较两张图片,然后生成并保存一张图片,该图片将显示已发现的所有差异,
我正在使用 ImageMagick:https://magick.codeplex.com/ 但是他们没有完整的 C# 文档。 我只找到:http://www.imagemagick.org/Usage/compare/
此代码例如显示从 0 到 1 的值,表示图片的相似程度:
MagickImage img1 = new MagickImage(@"C:\test\Image1.jpg");
MagickImage img2 = new MagickImage(@"C:\test\Image2.jpg");
double diff = img1.Compare(img2,new ErrorMetric());
但是如何使用 ImageMagick 比较图像,然后保存如上例及其网站中所示的结果?
更新: 在 dlemstra 的帮助下,我编写了以下代码,并生成了图像,这些图像可以显示上面示例中的差异。 MagickImage img1 = new MagickImage(@"C:\test\Image1.jpg"); MagickImage img2 = new MagickImage(@"C:\test\Image2.jpg"); MagickImage img3 = new MagickImage(@"C:\test\Image3.jpg"); MagickImage img4 = new MagickImage(@"C:\test\DiffImage.jpg"); MagickImage img5 = new MagickImage(@"C:\test\DiffImage.jpg");
var imgDiff = new MagickImage();
img1.Compare(img2, new ErrorMetric(), imgDiff);
imgDiff.Write(@"C:\test\Diff4.jpg");
img1.Compare(img3, new ErrorMetric(), imgDiff);
imgDiff.Write(@"C:\test\Diff5.jpg");
img1.Compare(img4, new ErrorMetric(), imgDiff);
imgDiff.Write(@"C:\test\Diff6.jpg");
img5.Compare(img4, new ErrorMetric(), imgDiff);
imgDiff.Write(@"C:\test\Diff7.jpg");
【问题讨论】:
-
嗨 @Yuval 你有没有找到解决这个问题的办法?
标签: c# imagemagick image-compression