// returns value from 0 to 1 static double ii_twoByTwoVariation(IntegralImage ii, DoubleRect r) { RGB col = ii_averageColorOfArea(ii, r); double sum = 0; for (RGB col2 : pairsB(ii_scanGrid(ii, 2, 2))) sum += rgbDiff(col, col2); ret sum/4; } static double ii_twoByTwoVariation(IntegralImage ii) { ret ii_twoByTwoVariation(ii, doubleRect(ii.getWidth(), ii.getHeight())); }