形成图像

时间:2012-12-27 16:13:40

标签: colors

如何制作一幅图像(510 * 510),上行为红色,绿色,蓝色,青色品红色,下行为黄色,所有部分均等。

2 个答案:

答案 0 :(得分:2)

你的问题有点模糊,但我我知道你要求的是什么。 HSV图像的色调通道通常被认为是0到360度,因为它是cylindrical-coordinate representation of points in an RGB color model。但是,对于您的图像,色调通道的值可能介于0到1之间,这是您从函数RGB2HSV获得的输出,如果这是您用于获取HSV贴图的内容。

因此,如果你想将你的色调偏移120度,你必须将你的范围改变1/3。换句话说,假设正偏移120度,范围从0到1/3的值应该改变到1/3到2/3的范围。您可以使用REM函数实现此目的,如下所示:

H = rem(H + 1/3, 1);

对于120度的负偏移,您可以应用240度的等效正偏移,如下所示:

H = rem(H + 2/3, 1);

答案 1 :(得分:2)

对于@ gnovice的答案的穷人版本,我建议简单地交换R,G和B频道,如@JasonD所建议

假设您有一个存储在数组img中的n×by-m-by-3 RGB图像。然后,按如下方式移动通道

shiftedImg = img(:,:,[2 3 1]);

shiftedImg = img(:,:,[3 1 2]);