C# 根据论文 像素差异算法【个人实验还是比较好使的】

论文地址:http://www.docin.com/p-1081596986.html

 

 

具体代码:

 

我转YUV,再通过上面的论文的方式比较近。

 

YVU 介绍:https://blog.csdn.net/imxiangzi/article/details/50503764

 

其实你不转也没关系..

 

double Rus(System.Drawing.Color color, System.Drawing.Color color2)
        {
            double y1, u1, v1, y2, u2, v2;
            y1 = 0.299 * color.R + 0.587 * color.G + 0.114 * color.B;
            u1 = -0.14713 * color.R + 0.28886 * color.B + 0.436 * color.B;
            v1 = 0.615 * color.R + color.G * 0.51498 + 0.10001 * color.G;

            y2 = 0.299 * color2.R + 0.587 * color2.G + 0.114 * color2.B;
            u2 = -0.14713 * color2.R + 0.28886 * color2.B + 0.436 * color2.B;
            v2 = 0.615 * color2.R + color2.G * 0.51498 + 0.10001 * color2.G;
            return Math.Sqrt((y1 - y2) * (y1 - y2) + (u1 - u2) * (u1 - u2) + (v1 - v2) * (v1 - v2));
        }

 

之后会返回一个整数,数字越大说明 差异度越大。

 

posted @ 2018-04-09 13:26  ARM830  阅读(908)  评论(0编辑  收藏  举报