@Override public void processImage(FImage image) { final FImage tmp = image.process(new MedianFilter(FilterSupport.createBlockSupport(sizeX, sizeY))); final float[][] tpix = tmp.pixels; final float[][] ipix = image.pixels; for (int y = 0; y < image.height; y++) for (int x = 0; x < image.width; x++) tpix[y][x] = ipix[y][x] < (tpix[y][x] - offset) ? 0f : 1f; image.internalAssign(tmp); } }
@Override public void processImage(FImage image) { final FImage tmp = image.process(new MedianFilter(FilterSupport.createBlockSupport(sizeX, sizeY))); final float[][] tpix = tmp.pixels; final float[][] ipix = image.pixels; for (int y = 0; y < image.height; y++) for (int x = 0; x < image.width; x++) tpix[y][x] = ipix[y][x] < (tpix[y][x] - offset) ? 0f : 1f; image.internalAssign(tmp); } }
static MBFImage diff(FImage bg, FImage fg) { final FImage df = new FImage(bg.getWidth(), bg.getHeight()); final float[][] dff = df.pixels; final float[][] bgfr = bg.pixels; final float[][] fgfr = fg.pixels; for (int y = 0; y < df.getHeight(); y++) { for (int x = 0; x < df.getWidth(); x++) { final float dr = bgfr[y][x] - fgfr[y][x]; final float ssd = dr * dr; if (ssd < 0.03) { dff[y][x] = 0; } else { dff[y][x] = 1; } } } // Dilate.dilate(df, 1); // Erode.erode(df, 2); df.processInplace(new MedianFilter(FilterSupport.createBlockSupport(3, 3))); df.processInplace(new MedianFilter(FilterSupport.createBlockSupport(3, 3))); return df.toRGB(); } }
static MBFImage diff(FImage bg, FImage fg) { final FImage df = new FImage(bg.getWidth(), bg.getHeight()); final float[][] dff = df.pixels; final float[][] bgfr = bg.pixels; final float[][] fgfr = fg.pixels; for (int y = 0; y < df.getHeight(); y++) { for (int x = 0; x < df.getWidth(); x++) { final float dr = bgfr[y][x] - fgfr[y][x]; final float ssd = dr * dr; if (ssd < 0.03) { dff[y][x] = 0; } else { dff[y][x] = 1; } } } // Dilate.dilate(df, 1); // Erode.erode(df, 2); df.processInplace(new MedianFilter(FilterSupport.createBlockSupport(3, 3))); df.processInplace(new MedianFilter(FilterSupport.createBlockSupport(3, 3))); return df.toRGB(); } }