static BWIntegralImage blendBWIntegralImages(Cl images) { if (empty(images)) null; var img1 = first(images); int nImages = l(images); int w = img1.getWidth(), h = img1.getHeight(), n = w*h; double[] pixels = new[w*h]; for (var img : images) { int i = 0; for y to h: for x to w: pixels[i++] += img.getPixel(x, y, 0); } byte[] bytes = new[n]; double inv = 1.0/nImages; for i to n: bytes[i] = clampToUByte(iround(pixels[i]*inv)); ret new BWIntegralImage(BWImage(w, h, bytes)); }