【问题标题】:MATLAB - Convert an RGB image to grayscale but keep green color [duplicate]MATLAB - 将 RGB 图像转换为灰度但保持绿色 [重复]
【发布时间】:2014-10-31 15:55:54
【问题描述】:

任何将图像转换为灰度但仅保留图像中的绿色的 MATLAB 代码。

我想成为我的输出是保持图像中的绿色,其余部分仍然是灰色

【问题讨论】:

    标签: matlab


    【解决方案1】:

    如果您的意思是要简单地保留图像的绿色分量,则可以简单地将图像的 R 和 B 分量设置为零。

    为此,只需将图像加载到变量my_image 中,然后执行以下操作:

    >> my_image = imread('lena.bmp');
    >> imshow(my_image);
    

    现在,

    >> [x, y, z] = size(my_image);
    >> my_image(:,:,1) = zeros(x,y);
    >> my_image(:,:,3) = zeros(x,y);
    >> imshow(my_image);
    

    结果将如下所示:

    如果您想将绿色显示为灰度,您可以执行以下操作:

    >> my_image = imread('lena.bmp');
    >> imshow(my_image(:,:,2));
    

    【讨论】:

    • 我想要的输出是保持图像中的绿色,其余部分仍然是灰色
    • @Jaja 我不明白你想要什么。你能举一些颜色值的例子吗?
    • @Daniel - 我相信 OP 希望图像是灰度的,除了那些绿色的颜色。这些颜色应该保持不变,而其余颜色则设置为它们的灰度值。我相信 OP 想要this post
    • @rayryeng - 你是对的。
    • @Jaja - 您应该转到我引用的链接。这个问题已经被提出并解决了。
    猜你喜欢
    • 2011-12-03
    • 2014-02-26
    • 2014-12-22
    • 1970-01-01
    • 2020-01-07
    • 2021-12-12
    • 2021-10-29
    • 2013-10-25
    相关资源
    最近更新 更多