@Override public void processImage(FImage image) { final FImage contrast = image.process(new LocalContrastFilter(FilterSupport.createBlockSupport(sizeX, sizeY))); final FImage avg = image.process(new AverageBoxFilter(sizeX, sizeY)); final float[][] cpix = contrast.pixels; final float[][] mpix = avg.pixels; final float[][] ipix = image.pixels; for (int y = 0; y < image.height; y++) { for (int x = 0; x < image.width; x++) { if (cpix[y][x] < threshold) ipix[y][x] = (mpix[y][x] >= 128) ? 1 : 0; else ipix[y][x] = (ipix[y][x] >= mpix[y][x]) ? 1 : 0; } } } }
@Override public void processImage(FImage image) { final FImage contrast = image.process(new LocalContrastFilter(FilterSupport.createBlockSupport(sizeX, sizeY))); final FImage avg = image.process(new AverageBoxFilter(sizeX, sizeY)); final float[][] cpix = contrast.pixels; final float[][] mpix = avg.pixels; final float[][] ipix = image.pixels; for (int y = 0; y < image.height; y++) { for (int x = 0; x < image.width; x++) { if (cpix[y][x] < threshold) ipix[y][x] = (mpix[y][x] >= 128) ? 1 : 0; else ipix[y][x] = (ipix[y][x] >= mpix[y][x]) ? 1 : 0; } } } }