栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据3个变量的颜色-麦克斯韦三角形

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据3个变量的颜色-麦克斯韦三角形

要回答第一个问题,应该注意很多事情。

首先, 单个值 可以表示颜色的唯一方法是使用颜色映射,该映射将标量映射到颜色。但是,麦克斯韦三角形不能减少为单个值。

这并不意味着麦克斯韦三角形不能用作将3个值映射到一种颜色的3D色彩图。其实,这是很自然的事,因为麦克斯韦使用3个值

a
b
以及
c
使颜色在RGB坐标来表示
(a,b,c)
。唯一缺少的是规范化。

在提供的链接中,麦克斯韦三角形定义为

a+b+c=1
。但是,matplotlib接受RGB坐标,因为3的浮点数介于0和1之间,其中白色显然是
1,1,1
,而不是
1/3,1/3,1/3
。因此,
i,j
考虑到这一点,每个将具有三个值,必须将其转换为0和1之间的3个浮点数。

因此,除了标准化除以和以外,

a+b+c=1
我们还必须标准化除以每个三项运算的最大值。

最终,可以使用显示最终图像

imshow

def colorTriangle(r,g,b):    image = np.stack([r,g,b],axis=2)    return image/image.max(axis=2)[:,:,None]size = 200X,Y = np.meshgrid(np.linspace(0,1,200),np.linspace(0,1,200))u = np.full_like(X,.2)v = Yw = X**2plt.imshow(colorTriangle(v,u,w),origin='lower',extent=(0,1,0,1)) # Note that v is first in order to be represented by red

输出图像如下:

在这里可以清楚地看到,对于x和y较小的值(其中

v
w
为零),颜色为绿色,与
u
零不同,并且比
v
和大得多
w
。对于大x和小y,
w
则占主导地位,而颜色的确是蓝色,而当
v
占主导地位时(大y和小x),颜色为红色。还显示出,对于所有三个矩阵的相等值,所得颜色为白色。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648129.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号