qjpeg/plugins/PSNR.cpp
changeset 251 4aa28098b2c2
parent 234 e78ee672b1ab
equal deleted inserted replaced
250:f480234b733e 251:4aa28098b2c2
    49 
    49 
    50     sum = 0;
    50     sum = 0;
    51     for (row = 0; row < gray1->getHeight(); row++)
    51     for (row = 0; row < gray1->getHeight(); row++)
    52         for (column = 0; column < gray1->getWidth(); column++)
    52         for (column = 0; column < gray1->getWidth(); column++)
    53         {
    53         {
    54             sum += se_single(gray1->getPixel(row, column), gray2->getPixel(row, column));
    54             sum += se_single(gray1->getPixel(column, row), gray2->getPixel(column, row));
    55         }
    55         }
    56     float mean = (float) sum / (float) (gray1->getHeight() * gray1->getWidth());
    56     float mean = (float) sum / (float) (gray1->getHeight() * gray1->getWidth());
    57 
    57 
    58     return 255. / sqrt(mean);
    58     return 255. / sqrt(mean);
    59 }
    59 }
    66 
    66 
    67     sumR = sumG = sumB = 0;
    67     sumR = sumG = sumB = 0;
    68     for (row = 0; row < rgbimg1->getHeight(); row++)
    68     for (row = 0; row < rgbimg1->getHeight(); row++)
    69         for (column = 0; column < rgbimg1->getWidth(); column++)
    69         for (column = 0; column < rgbimg1->getWidth(); column++)
    70         {
    70         {
    71             unsigned int pixel1 = rgbimg1->getIntPixel(row, column);
    71             unsigned int pixel1 = rgbimg1->getIntPixel(column, row);
    72             unsigned int pixel2 = rgbimg2->getIntPixel(row, column);
    72             unsigned int pixel2 = rgbimg2->getIntPixel(column, row);
    73             sumR += se_single(rgbimg1->getR(pixel1), rgbimg2->getR(pixel2));
    73             sumR += se_single(rgbimg1->getR(pixel1), rgbimg2->getR(pixel2));
    74             sumG += se_single(rgbimg1->getG(pixel1), rgbimg2->getG(pixel2));
    74             sumG += se_single(rgbimg1->getG(pixel1), rgbimg2->getG(pixel2));
    75             sumB += se_single(rgbimg1->getB(pixel1), rgbimg2->getB(pixel2));
    75             sumB += se_single(rgbimg1->getB(pixel1), rgbimg2->getB(pixel2));
    76         }
    76         }
    77     int sizes = rgbimg1->getHeight() * rgbimg1->getWidth();
    77     int sizes = rgbimg1->getHeight() * rgbimg1->getWidth();