コード例 #1
0
        public static IEnumerable <ImageSimilarityReport <TPixelA, TPixelB> > CompareImages <TPixelA, TPixelB>(
            this ImageComparer comparer,
            Image <TPixelA> expected,
            Image <TPixelB> actual)
            where TPixelA : unmanaged, IPixel <TPixelA>
            where TPixelB : unmanaged, IPixel <TPixelB>
        {
            var result = new List <ImageSimilarityReport <TPixelA, TPixelB> >();

            if (expected.Frames.Count != actual.Frames.Count)
            {
                throw new ImageFramesMismatchException(expected.Frames.Count, actual.Frames.Count);
            }

            for (int i = 0; i < expected.Frames.Count; i++)
            {
                ImageSimilarityReport <TPixelA, TPixelB> report = comparer.CompareImagesOrFrames(expected.Frames[i], actual.Frames[i]);
                if (!report.IsEmpty)
                {
                    result.Add(report);
                }
            }

            return(result);
        }
コード例 #2
0
 public static ImageSimilarityReport <TPixelA, TPixelB> CompareImagesOrFrames <TPixelA, TPixelB>(
     this ImageComparer comparer,
     Image <TPixelA> expected,
     Image <TPixelB> actual)
     where TPixelA : unmanaged, IPixel <TPixelA>
     where TPixelB : unmanaged, IPixel <TPixelB>
 {
     return(comparer.CompareImagesOrFrames(expected.Frames.RootFrame, actual.Frames.RootFrame));
 }