Я пытаюсь сравнить два изображения.Я сделал копию оригинального jpeg, который я использую, и нарисовал на нем маленькую линию.
Затем я запустил приведенный ниже код с использованием оригинального и измененного jpegs и получил очень красный.
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
MagickNET.SetTempDirectory(@"C:\scratch");
MagickImage oldImage = new MagickImage(@"C:\Users\Craig\Pictures\orig.jpg");
MagickImage newImage = new MagickImage(@"C:\Users\Craig\Pictures\changed.jpg");
newImage.Crop(oldImage.BaseWidth, oldImage.BaseHeight);
using (MagickImage diffImage = new MagickImage())
{
double diff = oldImage.Compare(newImage, ErrorMetric.Absolute, diffImage);
Console.WriteLine($"Diff is {diff}...");
diffImage.Write(@"C:\Users\Craig\Pictures\diff.jpg");
Console.ReadKey();
}
}
Я думаю, что проблема в том, что это слишком точно, и jpeg немного изменен (с потерями?).Есть ли способ успокоить его и посмотреть на большие изменения?Потому что, если вы посмотрите на изображение внизу справа, вы увидите улыбающееся лицо, которое я нарисовал (только рот и глаза).Может быть 1,5 см справа внизу и 1,5 см справа.
Я думаю, что ответ «Fuzz», но я не понимаю, как применить это к моему коду.