【问题标题】:Increase image saturation增加图像饱和度
【发布时间】:2011-06-30 14:55:25
【问题描述】:

如何在 MATLAB 中增加RGB 图像的饱和度?我必须先将 RGB 数组转换为 HSV 数组吗?

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    我认为最简单的方法当然是convert to HSV color space,随心所欲地增加饱和度值,然后convert it back to an RGB image

    hsvImage = rgb2hsv(rgbImage);  %# Convert the image to HSV space
    hsvImage(:,:,2) = 1;           %# Maximize the saturation
    rgbImage = hsv2rgb(hsvImage);  %# Convert the image back to RGB space
    

    【讨论】:

    • 嗯,将其设置为 1 会给我留下很多随机的红色斑块(我认为饱和度太高),所以我将它相乘以使所有区域的饱和度降低一点,这样它们都被相同的数量,例如。 hsvImage(:,:,2) = hsvImage(:,:,2)*1.5。谢谢你的帮助:)
    • @Phoen1xUK:我只是将其用作修改饱和度平面的示例,因为我不知道具体要应用哪种增加。您在 HSV 图像中看到的红色斑块可能是 RGB 图像中的白色或灰色区域(具有等量的红色、绿色和蓝色)。当转换为 HSV 时,像这样的中性色通常被指定为默认色调 0(即红色)。当饱和度从 0 增加到 1 时,此默认色调变得明显。
    猜你喜欢
    • 2019-02-06
    • 2015-12-24
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2011-05-07
    相关资源
    最近更新 更多