相关疑难解决方法(0)

如何将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 …
Run Code Online (Sandbox Code Playgroud)

rgb matlab colors image-processing grayscale

36
推荐指数
2
解决办法
3万
查看次数

标签 统计

colors ×1

grayscale ×1

image-processing ×1

matlab ×1

rgb ×1