gpt4 book ai didi

python - 强制Python在每次迭代时自动缩放图像中的颜色条

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:21 24 4
gpt4 key购买 nike

我有一个循环,它利用 'set_data' 命令,以便我可以在循环中快速对 Python 中的数据进行图像处理。这是受到这个答案的启发 here

然而,有一个问题是,每次出现新图像时,颜色轴似乎都不会重新缩放。这使得每次绘制新图像时都越来越难以看到图像中的细节。

我试图强制Python在每次迭代时简单地自动缩放颜色轴,但我似乎无法这样做。这就是我所拥有的:

fig, ax = plt.subplots()
im = ax.imshow(someImage[:,:,0], interpolation='none')
ax.set_aspect('auto'); fig.show();
for ii in range(numberOfImages):
im.set_data(someImage[:,:,ii]);
fig.show();
plt.pause(0.2);

这对于在 Python 中的 for 循环中快速更新图像非常有效,但是如何强制颜色标度在每次迭代时都是自动的?

谢谢。

巴特回答后出现错误消息:

2016-05-30 13:34:06.574 python[26795:3953860] setCanCycle: is deprecated. Please use setCollectionBehavior instead 2016-05-30 13:34:06.586 python[26795:3953860] setCanCycle: is deprecated. Please use setCollectionBehavior instead 2016-05-30 13:34:06.588 python[26795:3953860] setCanCycle: is deprecated. Please use setCollectionBehavior instead 2016-05-30 13:34:06.920 python[26795:3953860] setCanCycle: is deprecated. Please use setCollectionBehavior instead /Users/roger/anaconda2/lib/python2.7/site-packages/matplotlib/backend_bases.py:2437: MatplotlibDeprecationWarning: Using default event loop until function specific to this GUI is implemented warnings.warn(str, mplDeprecation)"

最佳答案

您可以使用 im.set_clim() 手动更改 vminvmax,然后更改颜色条(假设这就是您所指的内容) “颜色轴”)自动重新缩放:

import matplotlib.pylab as pl
import numpy as np

pl.close('all')

someImage = np.random.random((4,4,3))
someImage[:,:,1] *= 10
someImage[:,:,2] *= 100

fig, ax = pl.subplots()
im = ax.imshow(someImage[:,:,0], interpolation='none')
pl.colorbar(im)
ax.set_aspect('auto'); fig.show();
for ii in range(1,3):
im.set_data(someImage[:,:,ii]);
im.set_clim(vmin=someImage[:,:,ii].min(), vmax=someImage[:,:,ii].max())
fig.show();
pl.pause(1.0);

关于python - 强制Python在每次迭代时自动缩放图像中的颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37503471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com