Ejemplo n.º 1
0
        public void StaticCompute()
        {
            using (var refImage = Image("lenna.png"))
                using (var targetImage = new Mat())
                {
                    Cv2.GaussianBlur(refImage, targetImage, new Size(5, 5), 15);

                    var value = QualitySSIM.Compute(refImage, targetImage, null);
                    Assert.Equal(0.718649, value[0], 3);
                    Assert.Equal(0.791417, value[1], 3);
                    Assert.Equal(0.861893, value[2], 3);
                }
        }
Ejemplo n.º 2
0
        public void Compute()
        {
            using (var refImage = Image("lenna.png"))
                using (var targetImage = new Mat())
                    using (var psnr = QualitySSIM.Create(refImage))
                    {
                        Cv2.GaussianBlur(refImage, targetImage, new Size(5, 5), 15);

                        var value = psnr.Compute(targetImage);
                        Assert.Equal(0.72, value[0], 3);
                        Assert.Equal(0.793, value[1], 3);
                        Assert.Equal(0.863, value[2], 3);
                    }
        }
        public static double SSIM(Bitmap reference, Bitmap compare)
        {
            Scalar scalar = QualitySSIM.Compute(InputArray.Create(BitmapConverter.ToMat(reference)), InputArray.Create(BitmapConverter.ToMat(compare)), null);

            return((scalar[0] + scalar[1] + scalar[2]) / 3);
        }