[[uiq]]
 

https://github.com/up42/image-similarity-measures

https://ece.uwaterloo.ca/~z70wang/publications/quality_2c.pdf

https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance

const int width = 200;
const int height = 200;
 
inline int sum (int v)
{
   return (v >> 16) & 255 + (v >> 8) & 255 + v & 255;
}
 
double meanx,  meany, varx, vary, varxy;
 
void f (int * imgx, int * imgy)
{
    int n = 0;
    long sumx = 0, sumxx = 0, sumy = 0, sumyy = 0, sumxy = 0;
 
    for (int i = 0; i < height; i++)
        for (int j = 0; j < width; j++)
        {
            int valx = imgx [i*width+j];
            int x = (valx >> 16) & 255 + (valx >> 8) & 255 + valx & 255;
            int valy = imgy [i*width+j];
            int y = sum (valy);
            n ++;
            sumx += x;
            sumxx += x*x;
            sumy += y;
            sumyy += y*y;
            sumxy += x*y;
        }
 
        meanx = sumx/n;
        meany = sumy/n;
        varx  = (sumxx - sumx * sumx / n ) / (n-1);
        vary  = (sumyy - sumy * sumy / n ) / (n-1);
        varxy = (sumxy - sumx * sumy / n ) / n;
}
 
int main(int argc, char *argv[])
{
    int * imgx = new int [width*height];
    int * imgy = new int [width*height];
    f (imgx, imgy);
}
class Image;
 
void f (Image * imgx, Image * imgy)
{
    int n = 0;
    double sumx = 0, sumxx = 0, sumy = 0, sumyy = 0, sumxy = 0;
 
    for (int i = 0; i < height; i++)
        for (int j = 0; j < width; j++)
        {
            x = imgx [i,j];
            y = imgy [i,j];
            n ++;
            sumx += x;
            sumxx += x*x;
            sumy += y;
            sumyy += y*y;
            sumxy += x*y;
        }
 
                    double meanx = sumx/n;                    
                    double meany = sumy/n;                    
                    double varx  = (sumxx - sumx * sumx / n ) / (n-1);                    
                    double vary  = (sumyy - sumy * sumy / n ) / (n-1);                    
                    double varxy = (sumxy - sumx * sumy / n ) / n / (n-1);
}
 
uiq.txt · Last modified: 2021/10/14 17:22 by 147.32.8.14
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki