`

改变图像的饱和度和亮度

 
阅读更多

例子:

 

public class RGBchange {
	public static void main(String[] args) {
		Display display = Display.getDefault();
		Image image = new Image(display,"icons/step_done.gif");

		ImageUtil.printImageDataInfo(image.getImageData());
//		lightImage(image.getImageData());
//		ImageUtil.drawImage(image);
		ImageUtil.drawImage(new Image(Display.getDefault(),lightImage(image.getImageData())));
	}
	
	private static ImageData lightImage(ImageData srcData) {
		Float h,s,b;
		for(int i = 0; i<srcData.palette.colors.length; i++) {
			RGB rgb = srcData.palette.colors[i];
			if(rgb.getHSB()[1] != 0.0) {
				System.out.println(rgb);
				s = rgb.getHSB()[1]+(1-1*rgb.getHSB()[1])/2;
				b = rgb.getHSB()[2]+(1-1*rgb.getHSB()[2])/3;
				srcData.palette.colors[i] = new RGB(rgb.getHSB()[0],s,b);
			}
		}
		ImageUtil.saveImage("icons/step_bak.gif", new ImageData[]{srcData}, SWT.IMAGE_GIF);
		return srcData;
	}
}

 

 

直接将ImageData中的Palette的rgb改变了,注意这种情况只对索引的图有用,对于直接(direct)的图像,这个值是null,不过原理是一样的,注意保证saturation和brightness的值都要在0和1之间。

分享到:
评论

相关推荐

    对彩色图像进行调整。自动对亮度、色度和饱和度这三个参数进行调整。

    本节将深入探讨如何自动调整彩色图像的亮度、色度和饱和度,并通过编程实现这一功能。 首先,我们要了解亮度、色度和饱和度的概念。亮度是图像中最直观的属性,它决定了图像的整体明暗程度。亮度值越高,图像看起来...

    矩形圆形色调,饱和度,亮度图_matlab图像处理_放大_

    然后,我们可以改变这些像素的色调值,同时保持其饱和度和亮度不变。 至于矩形图的方法,它可能指的是将图像分为多个矩形区域,并对每个区域应用不同的色调、饱和度或亮度调整。这通常涉及到图像的分块处理,可以...

    灰度、对比度、亮度、饱和度基本图像处理源码

    在图像处理领域,灰度、对比度、亮度和饱和度是四个非常基础且重要的概念,它们直接影响着图像的视觉效果。下面将详细解释这些概念及其在实际应用中的处理方法。 1. **灰度**:灰度图像是一种无彩色图像,其中每个...

    ASP.NET在线调整色相,饱和度,亮度

    在这个特定的项目中,"ASP.NET在线调整色相,饱和度,亮度" 提供了一个用户界面,让用户能够实时改变图像的颜色属性,如色相、饱和度和亮度。色相是颜色的基本特性,决定了色彩的种类;饱和度则是颜色的纯度或强度,...

    adjust_亮度调整_饱和度调整_matlab_comingftw_

    在MATLAB中,可以通过`imadjust`函数来改变图像的亮度和对比度。该函数接受一个图像作为输入,并通过指定输入和输出的强度范围来调整图像的亮度和对比度。例如,我们可以设定输出图像的最小和最大值,从而实现对图像...

    色调,饱和度,亮度图,matlab

    在图像处理领域,色调、饱和度和亮度是三个基本的颜色属性,它们经常被用来描述颜色信息。MATLAB作为一款强大的数值计算和可视化软件,提供了丰富的工具和函数来处理这些属性。本篇将深入探讨这些概念以及如何在...

    hsl下饱和度亮度调节

    文件"4.4 HSL下饱和度亮度调节"可能包含一个具体的代码实例,演示了如何在HSL色彩模型下调节图像的饱和度和亮度。通过学习和理解这段代码,你将能够掌握这一关键的图像处理技巧,并将其应用到自己的项目中。 总之,...

    Unity3D调整屏幕亮度、饱和度、对比度

    在开发过程中,有时我们需要根据游戏环境或者用户需求来调整屏幕的视觉效果,如亮度、饱和度和对比度。这些参数对于创建游戏的视觉风格和玩家体验至关重要。 亮度是画面整体的明暗程度,通过调整亮度可以改变场景的...

    HSL空间下饱和度亮度调节

    通常,我们会从RGB(红、绿、蓝)模型转换到HSL模型,然后改变饱和度和亮度,最后再转换回RGB模型。以下是一般步骤: 1. **RGB到HSL转换**:这涉及到将RGB值(0-255)转换为色相(0-360度)、饱和度(0-100%)和...

    基于dirextx 利用像素着色器实现图像的亮度,饱和度,色相,对比度,变灰,反相操作

    本教程主要探讨如何利用DirectX中的像素着色器(Pixel Shader)来实现图像的亮度、饱和度、色相、对比度调整,以及变灰和反相等操作。这些基本的图像处理功能在游戏开发、图像编辑软件以及可视化应用中都十分常见。 ...

    HSL.rar_hsl_图像处理_饱和度调节

    在提供的"Delphi:HSL下饱和度亮度调节"源码中,开发者可以找到实现这些步骤的具体函数。源码可能包含以下关键部分: - `RGBtoHSL`函数:用于将RGB颜色转换为HSL颜色空间。 - `HSLtoRGB`函数:将HSL颜色转换回RGB,...

    Matlab实现图像色度饱和度变换,含GUI界面

    在色彩空间如HSV(色相、饱和度、亮度)或HSL(色相、饱和度、亮度)中,色度和饱和度是关键参数。通过对这些参数进行调整,可以改变图像的颜色特征,使其更鲜明或柔和。 3. **色彩空间转换**: 在实现色度饱和度...

    色调,饱和度,亮度图,matlab_rezip【含Matlab源码】【Matlab精品】..zip

    在图像处理领域,色调、饱和度和亮度是三个基本的颜色属性,它们经常被用来描述颜色信息。MATLAB作为一款强大的数值计算和可视化软件,提供了丰富的工具和函数来处理这些属性。本篇将深入探讨这些概念以及如何在...

    色调,饱和度,亮度图,matlab_rezip1【含Matlab源码】【Matlab精品】..zip

    在图像处理领域,色调、饱和度和亮度是三个基本的颜色属性,它们经常被用来描述颜色信息。MATLAB作为一款强大的数值计算和可视化软件,提供了丰富的工具和函数来处理这些属性。本篇将深入探讨这些概念以及如何在...

    JS图片上传对比度饱和度调整代码.zip

    这个"JS图片上传对比度饱和度调整代码.zip"文件提供了一个解决方案,使得用户可以从本地选择图片,将其上传至服务器,并在服务器端对图片进行色彩调整,包括改变亮度、对比度和饱和度。 首先,我们需要理解基本的...

    HSL滤波器(线性校正,亮度,对比度,饱和度,色调修正).zip

    在图像处理领域,HSL(色相、饱和度、亮度)滤波器是一种常见的颜色空间转换工具,用于调整...通过研究和应用这些代码,开发者可以更好地掌握如何在实际项目中调整图像的亮度、对比度、饱和度和色调,提升图像质量。

    HSL下饱和度亮度调节..rar

    总的来说,理解和掌握HSL模型以及在Delphi中调节饱和度和亮度的能力,对于任何涉及图形用户界面或者图像处理的开发工作都是至关重要的。这不仅可以提升用户体验,也可以帮助你创造出更具吸引力和个性化的视觉效果。...

    对图像进行提亮处理_色彩增强_色彩饱和度_色彩_图形图像处理_图像增强_

    例如,可以使用`imadjust`函数来调整图像的亮度和对比度。这个函数接受一个图像作为输入,然后返回一个调整后的图像,其灰度级被重新映射以达到提亮或增强对比度的效果。使用方法如下: ```matlab % 加载图像 img =...

    计算机软件-编程源码-4.4 HSL下饱和度亮度调节.zip

    本资源“计算机软件-编程源码-4.4 HSL下饱和度亮度调节.zip”包含了用于调整图像中颜色饱和度和亮度的编程源码,这对于开发者来说是非常有价值的工具,特别是那些从事图像处理、游戏开发或UI设计的人。 1. **HSL...

    使用OpenCV处理图片的亮度、对比度、曝光、高光、阴影、饱和度、

    5. **饱和度**:饱和度决定了图像色彩的丰富程度。通过线性混合灰度图像和原始彩色图像,可以降低或增加饱和度。 6. **色温与色相**:色温影响图像的整体色调,通常用K值表示,而色相则关乎色彩的位置。OpenCV提供`...

Global site tag (gtag.js) - Google Analytics