static IBWIntegralImage scaledIBWIntegralImage(int w, IBWIntegralImage img) { ret scaledIBWIntegralImage(img, w); } static IBWIntegralImage scaledIBWIntegralImage(IBWIntegralImage img, int w) { ret scaledIBWIntegralImage(img, w, iround(w*img.getHeight()/(double) img.getWidth())); } static IBWIntegralImage scaledIBWIntegralImage(IBWIntegralImage img, int w, int h) { ret new IBWIntegralImage { int w1 = img.getWidth(), h1 = img.getHeight(); double factorX = doubleRatio(w1, w); double factorY = doubleRatio(h1, h); double areaCorrection = 1/(factorX*factorY); public int getWidth() { ret w; } public int getHeight() { ret h; } // get value for 1 channel // normal range [0; pixelCount*256) // TODO: test public double getIIValue(double x, double y) { ret img.getIIValue(x*factorX, y*factorY)*areaCorrection; } }; }