我有一个创建如下的数组:
im = plt.array(Image.open('Mean.png').convert('L'))
我必须将其所有值转换为指定范围。为此,我有这个功能:
def translate(value, inputMin, inputMax, outputMin, outputMax):
# Figure out how 'wide' each range is
leftSpan = inputMax - inputMin
rightSpan = outputMax - outputMin
# Convert the left range into a 0-1 range (float)
valueScaled = float(value - inputMin) / float(leftSpan)
# Convert the 0-1 range into a value in the right range.
return outputMin + (valueScaled * rightSpan)
在我的具体问题中,我必须显示这个图像轮廓:
plt.figure()
CS = plt.contour(im, origin='image', extent=[-1, 1, -1, 1])
plt.colorbar(CS, shrink=0.5, aspect=10)
plt.clabel(CS, inline=1, fontsize=10)
plt.savefig("ContourLevel2D.png")
但是每个灰度值都必须转换为 -1..1 范围。我知道我可以做这样的事情:
CS = plt.contour(im/100, origin='image', extent=[-1, 1, -1, 1])
将im的每个元素除以100。但是有没有类似/简单的方法可以使用我上面提到的函数来转换这些值?
提前致谢。