`

direct 图,改变图像的饱和度和亮度

阅读更多
public class PaletteDirectExample {

    static Display display;

    public Image createIndexImage() {
        // ***                    PaletteData(redMask, greenMask, blueMask)
        PaletteData palette = new PaletteData(0xFF0000   , 0xFF00   , 0xFF);

        ImageData imageData = new ImageData(48,48,24,palette);
        for (int x=0;x<48;x++) {
            for(int y=0;y<48;y++) {
                if(y > 11 && y < 35 && x > 11 && x < 35) {
                    imageData.setPixel(x,y,0xdd3311);   // Set the center to green
                } else {
                    imageData.setPixel(x,y,0x33dd22);   // and everything else to red
                }
            }
        };
        return new Image(display,imageData);
    }

    private static void lightImage(ImageData imageData) {
        int pixel;
        RGB rgb;
        Float h,s,b;
        for (int x=0;x<48;x++) {
            for(int y=0;y<48;y++) {
                pixel = imageData.getPixel(x,y);
                rgb = imageData.palette.getRGB(pixel);
                System.out.println(rgb);
                if(rgb.getHSB()[1] != 0.0) {
                    s = rgb.getHSB()[1]+(1-1*rgb.getHSB()[1])/2;
                    b = rgb.getHSB()[2]+(1-1*rgb.getHSB()[2])/3;
                    rgb = new RGB(rgb.getHSB()[0],s,b);
                    pixel = imageData.palette.getPixel(rgb);
                    System.out.println("-- " +rgb);
                    imageData.setPixel(x, y, pixel);
                }
            }
        };
    }

    public static void main(String[] args) {
        display = new Display();
        PaletteDirectExample e = new PaletteDirectExample();
        Image image = e.createIndexImage();
        
        lightImage(image.getImageData());
    }

}

 

代码:改变一个直接图的亮度和饱和度,原图的RGB有两种,变换后:

RGB {221, 51, 17}--》 RGB {232, 46, 9}

RGB {51, 221, 34}--》 RGB {37, 232, 18}

 

分享到:
评论

相关推荐

    饱和度

    开发者可以通过获取像素信息,修改每个像素的饱和度分量,再将结果写回像素,从而实现图像饱和度的改变。例如,可以使用色彩空间转换,如从RGB转换到HSV(色相、饱和度、亮度),在HSV空间内调整饱和度,然后再转回...

    VC数字图像处理实例

    HSV色彩空间转换可以帮助分离色调、饱和度和亮度信息,便于处理。 **6. 图像显示与交互** 在VC中,可以利用MFC(Microsoft Foundation Classes)框架或WinAPI来创建图形用户界面,展示处理后的图像,并提供用户交互...

    c#图片管理工具模块

    通过调整颜色通道的值,可以改变图像的饱和度、亮度和对比度。 3. **旋转与翻转**:Image类提供了RotateFlip方法,可以实现图像的旋转和翻转。这个方法接受两个参数,分别代表旋转和翻转的操作类型,如...

    VC++合成图像

    颜色空间转换可以提供更多的色彩处理可能性,例如通过HSV空间更容易调整亮度和饱和度。 4. 透明度控制:在"TransparentBltTest"的例子中,透明度(Alpha通道)是关键。在合成图像时,如果其中一张图像是半透明的,...

    bmp2.rar_BMP图片查看其

    - 色彩调整:可以改变图像的亮度、对比度、饱和度等,这涉及到色彩空间的转换和运算。 - 笔刷绘图:允许用户在图像上自由绘图,需要实现鼠标跟踪、选择不同颜色和笔刷大小等功能。 三、保存BMP图像 编辑后的图像...

    stm32f407+ov2640色块识别

    2. 颜色空间转换:从RGB(红绿蓝)色彩空间转换到HSV(色调、饱和度、亮度)或HSL(色调、饱和度、亮度)色彩空间,因为这些色彩空间更利于颜色的识别和区分。 3. 色块分割:设定阈值或者使用聚类算法(如K-means)...

    Android,WP7,iOS,vc2010平台40多套图片滤镜效果

    通过修改像素数据,可以实现各种滤镜,如灰度、饱和度、色调和温度调整等。 Windows Phone 7(WP7)虽然现在已较为过时,但当年它也支持图像处理。开发者通常使用C#和Silverlight框架,利用WriteableBitmapEx库来...

    桂林电子科技大学计算机图形学复习题答案

    RGB 模型是指使用红、绿、蓝三基色的模型,CMYK 模型是指使用青、品、黄、黑四基色的模型,HSV 模型是指使用色相、饱和度、亮度的模型。 图像处理 图像处理是指对图像进行处理和操作的技术。常见的图像处理技术...

    file-open-and-color-adjustment.rar_open

    颜色调整功能通常用于图像编辑或视图定制应用中,它允许用户改变图像的亮度、对比度、饱和度、色调等属性。在Windows编程中,可以使用GDI+(Graphics Device Interface Plus)或者Direct2D等图形库来实现。 - GDI...

    YUV播放器—YUVViewer

    3. **参数设置**:YUVViewer可能提供了调整亮度、对比度、饱和度等图像参数的功能,以及可能的解码和渲染设置,以适应不同的YUV源和用户偏好。 **总结** YUVViewer是一个利用DirectDraw技术和MFC Picture控件实现...

    5.1三维视觉1

    颜色在Direct3D中可以用RGB(红绿蓝)或HSV(色相、饱和度、亮度)等色彩模型来数学地表示和操作,以达到所需的视觉效果。 总之,三维视觉涉及多种技术和原理,包括透视、景深、重叠、光照、阴影等,它们共同作用于...

    STM32F407驱动摄像头OV7670

    此外,文档可能还会介绍如何调整图像质量,如亮度、对比度和饱和度,以及如何处理图像的YUV或RGB格式。 "说明.txt"可能包含了项目实施的步骤、注意事项、常见问题及其解决方法,或者是对PDF文档的补充说明。这有助...

    液晶拼接屏方案全解析-3x3液晶拼接屏设计方案_161智能弱电_海康付费资料弱电方案.doc

    - **更好彩色饱和度**:采用色彩校准技术,确保静态和动态画面的色彩准确稳定。 - **更宽视角**:178°的可视角度,确保从多个角度观看无失真。 - **高可靠性**:专为24小时连续工作设计,适合监控等长期运行的...

    FFmpeg滤镜实现区域视频增强 及 D3D实现视频播放区的拉大缩小

    例如,我们可以使用滤镜来改变视频的色彩、亮度、对比度,甚至实现复杂的图像分析和处理。在"FFmpeg滤镜实现区域视频增强"这一主题中,我们可能会涉及到如以下的滤镜: 1. `crop`:用于裁剪视频的特定区域,只保留...

    HLSL卡通渲染(C++ DX9.0代码)

    在HLSL中,可以通过调整颜色的饱和度和亮度,以及使用简单的光照模型(如Gouraud或Phong)来实现这种效果。此外,可以使用颜色贴图或纹理来进一步增强物体的色彩表现。 最后,我们还需要考虑光照和阴影。在卡通渲染...

    计算机图形学实验 VC实现

    此外,还有其他颜色模型,如CMYK(用于打印)和HSV(色调、饱和度、亮度)。颜色混合则涉及到 Alpha 混合,常用于透明效果的实现。 图形的绘制主要包括线段绘制、曲线绘制和填充。Bresenham算法是一种常用且高效的...

    DID拼接屏软件

    5. **画质优化**:DID拼接屏软件通常包含画质增强算法,提升图像的清晰度、对比度和色彩饱和度,使显示效果更加生动。 6. **控制与管理**:软件提供远程控制和集中管理功能,用户可以通过网络对所有拼接屏进行监控...

    Wince摄像头项目

    Wince提供了一些API函数,如CeCreateCameraControl,CeCameraControlGetStatus,CeCameraControlSetStatus等,用于控制摄像头的参数,如亮度、对比度、饱和度等。通过这些API,开发者可以实现对摄像头的高级功能控制...

Global site tag (gtag.js) - Google Analytics