Я использую 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: Различие изображения получаю это первый пример. Мне нужен последний пример.
Любая помощь будет принята с благодарностью.