Кто-нибудь знает простой способ преобразования значения RGBint, возвращенного из <BufferedImage> getRGB(i,j)
, в значение в оттенках серого?
Я собирался просто усреднить значения RGB, разбив их, используя это;
int alpha = (pixel >> 24) & 0xff;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel) & 0xff;
, а затем средний красный, зеленый, синий.
Но я чувствую, что для такой простой операции мне что-то не хватает ...
После хорошего ответа на другой вопрос я должен выяснить, чего я хочу.
Я хочу взять значение RGB, возвращаемое из getRGB (i, j), и превратить его в значение белого в диапазоне 0-255, представляющее «темнота» этого пикселя.
Это может быть достигнуто путем усреднения и тому подобное, но я ищу OTS-реализацию, чтобы сэкономить мне несколько строк.