python plot 渐变颜色_创建渐变颜色贴图matplotlib
由于您尝试模拟现有渐变而不是从任意颜色创建渐变,因此只需找到一个与测量的渐变值匹配的公式。在首先取梯度上每个点的平均像素r,g,b值。你需要先得到一个纯图像,你发布的图像有一个白色的边框,边缘有一些响声;我用了一个图像编辑器来清理它。在一旦测量到值,就可以使用^{}进行曲线拟合。我胡乱猜测5度就足够了,得到了6个系数的数组。在这里,您可以看到一个测量值的曲线图,并覆盖拟合曲线。我认为这是一个很好的
由于您尝试模拟现有渐变而不是从任意颜色创建渐变,因此只需找到一个与测量的渐变值匹配的公式。在
首先取梯度上每个点的平均像素r,g,b值。你需要先得到一个纯图像,你发布的图像有一个白色的边框,边缘有一些响声;我用了一个图像编辑器来清理它。在
一旦测量到值,就可以使用^{}进行曲线拟合。我胡乱猜测5度就足够了,得到了6个系数的数组。在这里,您可以看到一个测量值的曲线图,并覆盖拟合曲线。我认为这是一个很好的匹配。在
下面是用这些曲线重建梯度的代码。在rp = [-1029.86559098, 2344.5778132 , -1033.38786418, -487.3693808 ,
298.50245209, 167.25393272]
gp = [ 551.32444915, -1098.30287507, 320.71732031, 258.50778539,
193.11772901, 30.32958789]
bp = [ 222.95535971, -1693.48546233, 2455.80348727, -726.44075478,
-69.61151887, 67.591787 ]
def clamp(n):
return min(255, max(0, n))
def gradient(x, rfactors, gfactors, bfactors):
'''
Return the r,g,b values along the predefined gradient for
x in the range [0.0, 1.0].
'''
n = len(rfactors)
r = clamp(int(sum(rfactors[i] * (x**(n-1-i)) for i in range(n))))
g = clamp(int(sum(gfactors[i] * (x**(n-1-i)) for i in range(n))))
b = clamp(int(sum(bfactors[i] * (x**(n-1-i)) for i in range(n))))
return r, g, b
from PIL import Image
im = Image.new('RGB', (742, 30))
ld = im.load()
for x in range(742):
fx = x / (742 - 1)
for y in range(30):
ld[x,y] = gradient(fx, rp, gp, bp)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)