Я использую Magick.NET (Q16-x64 v7.0.0.0011) для сравнения изображений. Когда я использую версию командной строки ImageMagick и делаю сравнение без каких-либо специальных опций, она дает изображение с идентичными частями, показанными как светлый фон, и различия в красном. Я пытаюсь дублировать это поведение в Magick.NET. Я пробовал следующий код:Magick.net Compare
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. Я попробовал несколько разных файлов и форматов файлов с тем же результатом.
Ссылка на «Иллюстрированные примеры» в ответе на следующий вопрос: Diff an Image То, что я получаю, является первым примером. Что я хочу, это последний пример.
Любая помощь была бы принята с благодарностью.
Вы в курсе, что ImageMagick 7.0.0 официально еще не выпустили? Теперь доступны только предварительные бета-тесты для тестирования. Знайте, что некоторые вещи могут работать не так, как ожидалось! –
Спасибо за эту информацию. Разработчик Magick.NET ответил на мой вопрос на форумах Magick.NET.Мне не хватало установки свойства, но есть также ошибка в текущей версии ImageMagick on Compare. Разработчик собирается опубликовать ответ здесь после устранения ошибки. – Craig