MATLAB将图像转换为rgb,matlab – 如何将RGB图像转换为灰度但保持一种颜色?

所以我试图创建一个类似于罪恶城市或其他电影的效果,他们删除除了一个图像中的所有颜色。

我有一个RGB图像,我想转换为灰度,但我想保持一种颜色。

这是我的照片:

我想保持红色。其余的应该是灰度。

这是我的代码输出到目前为止(你可以看到,区域是正确的,我不知道为什么他们是白色,而不是红色):

这里是我的代码到目前为止:

filename = 'roses.jpg';

[cdata,map] = imread( filename );

% convert to RGB if it is indexed image

if ~isempty( map )

cdata = idx2rgb( cdata, map );

end

%imtool('roses.jpg');

imWidth = 685;

imHeight = 428;

% RGB ranges of a color we want to keep

redRange = [140 255];

greenRange = [0 40];

blueRange = [0 40];

% RGB values we don't want to convert to grayscale

redToKeep = zeros(imHeight, imWidth);

greenToKeep = zeros(imHeight, imWidth);

blueToKeep = zeros(imHeight, imWidth);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值