Я пытаюсь выполнить некоторую обработку изображений на цветном изображении, и для этого мне нужно отделить значения RGB и изменить их отдельно. Я просто внедряю увеличение яркостного фильтра. Я делаю это в java. Может кто-то помочь мне, пожалуйста,RGB извлечения цветного изображения
ответ
У вас есть несколько вариантов.
Во-первых, вы должны иметь возможность загрузить изображение, которое поддерживает класс BufferedImage
. Для этого вам лучше всего использовать API ImageIO
. Взгляните на Reading/Loading an Image.
После этого вы можете получить информацию о пикселях в порядке вещей.
Одним из самых простых является использование BufferedImage#getRGB
, который возвращает упакованное целое число пикселя.
В зависимости от типа изображения вы можете получить отдельные значения цвета Color(int, boolean)
, которые соответственно распакуют целое число (вы также можете сделать это вручную, но я никогда не помню математику, и это проще).
Alternativly, вы можете получить доступ к Raster
непосредственно, с помощью BufferedImage#getData
, который обеспечивает доступ к нескольким способам для манипулирования информации основного пикселя (например, захват областей пикселей, например)
Теперь, если все это звучит как больше удовольствия, то вы можете справиться, вы можете легко выполнить осветление изображения, используя BufferedImageOp
...
Adjust brightness and contrast of BufferedImage in Java Зе, и How to change the contrast and brightness of an image stored as pixel values и Change brightness of image using RescaleOp для примеров (это где только вершина мало, что появился на Google)
Вы должны отправить свой код, чтобы получить справку. Это не сайт «попросить решения», это для получения совета. – MightyPork