当前位置: 首页 > 知识库问答 >
问题:

将RGB图像转换为CMY

赏彭薄
2023-03-14

如何将RGB彩色图像或简单的图像转换为CMY彩色图像,并提取每个组件青色(C)洋红色(M)和黄色(Y)?我的方法:-

I=imread('Capture2.PNG'); 
I3 = I;
I2 =I;
I1 = I;

I1(:,:,2:3)=0;
RED = I1;

I2(:,:,1:2) = 0;
BLUE = I2;

I3(:,:,1:3)=0;
GREEN=I3;

tic;
figure;imshow(RED);
figure;imshow(BLUE);
figure;imshow(GREEN);
c = 1.0-RED;
m = 1.0-GREEN;
y = 1.0-BLUE;
figure;imshow(c);
figure;imshow(m);
figure;imshow(y);

共有1个答案

邹浩
2023-03-14

可以使用makecform创建颜色空间变换:

I=imread('Capture2.PNG');
cform = makecform('srgb2cmyk');
cmykI = applycform(I,cform); 

顺便说一句,在你的问题中,似乎I属于uint8类型,因此在[0...255]范围内,要获得每个组件的补码,您需要从255中减去它们,而不是1.0:

c = 255-RED;
m = 255-GREEN;
y = 255-BLUE;
 类似资料:
  • 问题内容: 我有一个RGB图像。我想将其转换为numpy数组。我做了以下 它创建一个没有形状的数组。我假设它是一个iplimage对象。 问题答案: 您可以使用较新的OpenCV python接口(如果我没记错的话,自Ope​​nCV 2.2起就可以使用)。它本机使用numpy数组: 结果:

  • 问题内容: 我试图用来读取RGB图像并将其转换为灰度。 在matlab中,我使用以下代码: 在matplotlib教程中,他们没有介绍。他们只是读了图像 然后将它们切成薄片,但这与根据我的理解将RGB转换为灰度不是同一回事。 我发现很难相信numpy或matplotlib没有将rgb转换为灰色的内置函数。这不是图像处理中的常见操作吗? 我写了一个非常简单的函数,可以在5分钟内使用导入的图像。这是非

  • 问题内容: 我在互联网上找到了一种将RGB值转换为HSV值的方法。不幸的是,当值是R = G = B时,由于0/0操作,我得到的是NaN。 您是否知道Java中是否存在用于此转换的实现方法,或者当我获得0/0除法以获取正确的HSV值时该怎么办? 这是我的方法,它是根据Internet上的一些代码改编而成的: 问题答案: 我很确定您想要的是RGBtoHSB

  • 所以,我创建一个图形Bash PS1生成器使用Javascript。用户可以从调色板(jsColor库)中为他们想要的任何元素选择任何颜色。我得到的值是该颜色的RGB代表。我想将该值转换为0-255之间的数字,以便在Bash中表示。 示例: 输入:#000000 输出:0 输入:#FFFFFF 输出: 255 转换为最接近的8位表示形式的任何其他输入 **我检查了这篇文章,但答案不太起作用(我得到

  • 问题内容: 今天使用PIL / Numpy / SciPy进行转换的首选方式是什么? 问题答案: 自2010年提出链接问题时,相应的代码就从scipy转移到了单独的工具包中:http ://scikit- image.org/ 所以这是我实际上正在寻找的代码: 还应注意,由于实验室性质,srgb-> lab转换取决于附加参数: whitepoint ,例如: • Photoshop 使用称为D50

  • 问题内容: 我正在学习使用OpenCV进行实时应用程序的图像处理。我对图像进行了一些阈值处理,并希望将轮廓标记为绿色,但是由于我的图像是黑白图像,所以它们没有显示为绿色。 在程序的早期,我曾经将RGB转换为灰度,但是回过头来,我很困惑,该函数给出了: AttributeError:“模块”对象没有属性“ CV_GRAY2RGB”。 下面的代码似乎不是用绿色绘制轮廓。这是因为它是灰度图像吗?如果是这