public Image process(Image imageIn) { Image clone = imageIn.clone(); imageIn = gaussianBlurFx.process(imageIn); imageIn = contrastFx.process(imageIn); int old_r, old_g, old_b, r, g, b; for (int x = 0; x < (imageIn.getWidth() - 1); x++) { for (int y = 0; y < (imageIn.getHeight() - 1); y++) { old_r = clone.getRComponent(x, y); old_g = clone.getGComponent(x, y); old_b = clone.getBComponent(x, y); r = 255 - (255 - old_r) * (255 - imageIn.getRComponent(x, y)) / 255; g = 255 - (255 - old_g) * (255 - imageIn.getGComponent(x, y)) / 255; b = 255 - (255 - old_b) * (255 - imageIn.getBComponent(x, y)) / 255; imageIn.setPixelColor(x, y, r, g, b); } } return(imageIn); }
public Image process(Image input) { Image saturated = saturationFx.process(input.clone()); Image blurred = blurFx.process(saturated); input = blender.Blend(saturated, blurred); Image edge = edgeDetectionFx.process(input.clone()); return(edgeBlender.Blend(input, edge)); }