当读取低对比度图像时,它会自动地以以下示例为例:
In [1]: from PIL import Image
In [2]: import numpy as np
In [3]: import matplotlib.pyplot as plt
In [4]: img = Image.open('images/map.jpg')
In [5]: arr = np.asarray(img)
In [6]: plt.gray()
In [7]: plt.imshow(arr)
Out[7]: <matplotlib.image.AxesImage at 0x7f9c7e88f490>
In [8]: plt.show()
输入
绘图(不变,这是由matplotlib自动完成的)。
因为这个输入与没有修改任何内容的情节不同。
我需要低对比度的图像来实现对比拉伸的算法。
阅读“亚马逊数字图像处理”(RafaelC.Gonzalez,RichardE.Woods)一书
PS: matplotlib是转换的自动工具。我不需要。
发布于 2013-09-16 22:48:01
如果不希望自动缩放颜色地图,可以使用vmin
和vmax
来设置您喜欢的范围,如下所示:
plt.imshow(arr, vmin=0, vmax=255)
当显示numpy数组时,matplotlib只能自动知道实际输入数据的范围(而不是从它获取的范围),因此它将整个输入范围映射到完整的输出范围。但是,如果您知道输入数据的不同范围,则可以使用vmin
和vmax
来指定它。
https://stackoverflow.com/questions/18836615
复制相似问题