Skip to content

kevin-mcmanus/ImageSharp.Compare

 
 

Repository files navigation

ImageSharpCompare

Build status Nuget Codacy Badge

Compares images

Inspired by the image compare feature "Visual verification API" of TestApi this code supports comparing images by using a tolerance mask image. That tolerance mask image is a valid image by itself and can be manipulated.

ImageSharpCompare focus on os indepent support and therfore depends on SixLabors.ImageSharp.

Install-Package ImageSharpCompare

Example show case

Imagine two images you want to compare, and want to accept the found difference as at state of allowed difference.

Reference Image

actual image

Actual Image

actual image

Tolerance mask image

using "compare.CalcDiff" you can calc a diff mask from actual and reference image

Example - Create difference image

using (var fileStreamDifferenceMask = File.Create("differenceMask.png"))
using (var maskImage = ImageSharpCompare.CalcDiffMaskImage(pathPic1, pathPic2))
    SixLabors.ImageSharp.ImageExtensions.SaveAsPng(maskImage, fileStreamDifferenceMask);

differenceMask.png

Example - Compare two images using the created difference image. Add white pixels to differenceMask.png where you want to allow difference.

var maskedDiff = ImageSharpCompare.CalcDiff(pathPic1, pathPic2, "differenceMask.png");
Assert.That(maskedDiff.AbsoluteError, Is.EqualTo(0));

About

Adds compare features on top of ImageSharp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%