【发布时间】:2013-08-01 00:59:43
【问题描述】:
我正在尝试对彩色图像进行一些图像处理,为此我需要分离 RGB 值并分别修改它们。我只是在增加亮度滤镜。我在java中这样做。有人可以帮帮我吗
【问题讨论】:
-
您必须发布代码才能获得帮助。这不是“寻求解决方案”网站,而是寻求建议。
标签: java image bitmap rgb brightness
我正在尝试对彩色图像进行一些图像处理,为此我需要分离 RGB 值并分别修改它们。我只是在增加亮度滤镜。我在java中这样做。有人可以帮帮我吗
【问题讨论】:
标签: java image bitmap rgb brightness
你有几个选择。
首先,您需要能够加载支持BufferedImage 类的图像。为此,您最好使用ImageIO API。看看Reading/Loading an Image。
有了这个,你可以通过多种方式获取像素信息。
最简单的方法之一是使用BufferedImage#getRGB,它返回像素的压缩整数。
根据图像的类型,您可以获得单独的颜色值Color(int, boolean),这将相应地解压缩整数(您也可以手动执行此操作,但我不记得数学,这更简单)。
或者,您可以通过BufferedImage#getData 直接访问Raster,这为您提供了更多操作底层像素信息的方法(例如抓取像素区域)
现在,如果这一切听起来更有趣,那么您可以处理,您可以使用 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 上弹出的前几个)
【讨论】: