### Question:
ConvertImage { public static BufferedImage grayscale(BufferedImage image) { return new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null).filter(image, null); }  static BufferedImage grayscale(BufferedImage image); static BufferedImage boostedGray(BufferedImage image); static BufferedImage otherGray(BufferedImage image);  }### Answer:
@Test public void testGrayScale() throws Exception { BufferedImage im = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB); for (int i = 0; i < im.getWidth(); i++) { for (int j = 0; j < im.getHeight(); j++) { im.setRGB(i, j, ARGB.toARGB(1, .1f, .5f, .9f)); } } BufferedImage grayscale = ConvertImage.grayscale(im); int px = grayscale.getRGB(0, 0); Assert.assertEquals(ARGB.getB(px), ARGB.getR(px), 0.001); }