我有两个16位灰度图像。一个是较大图像的子图像。他们是中心的。 bigger和smaller通知,小一点看起来稍微亮一点。
当显示两者时,较小的看起来更亮。基本上我想要做的是保持相同的灰度值表示,即我希望较小的图像具有与较大图像相同的强度外观(因为各个像素中的GS强度值是相同的)。有什么建议吗?
for j in xrange(windows_a.shape[0]):
print j
pl.imshow(windows_a[j], interpolation='nearest')
pl.xticks(np.arange(0,window_size_1,1))
pl.yticks(np.arange(0,window_size_1,1))
pl.gray()
pl.grid( color = 'y' )
pl.savefig('./IW_small/IW_small_' + str("%05d" %i) + "_" + str("%05d" %j) + '.png')
pl.close()
pl.imshow(windows_b[j], interpolation='nearest')
pl.xticks(np.arange(0,window_size_2,1))
pl.yticks(np.arange(0,window_size_2,1))
pl.gray()
pl.grid( color = 'y' )
pl.savefig('./IW_big/IW_big_' + str("%05d" %i) + "_" + str("%05d" %j) + '.png')
pl.close()
答案 0 :(得分:4)
您可以使用imshow
function的vmin
和vmax
参数自行设置强度值:
for j in xrange(windows_a.shape[0]):
print j
vmin, vmax = windows_b[j].min(), windows_b[j].max()
pl.imshow(windows_a[j], vmin=vmin, vmax=vmax, interpolation='nearest')
pl.xticks(np.arange(0,window_size_1,1))
pl.yticks(np.arange(0,window_size_1,1))
pl.gray()
pl.grid( color = 'y' )
pl.savefig('./IW_small/IW_small_' + str("%05d" %i) + "_" + str("%05d" %j) + '.png')
pl.close()
pl.imshow(windows_b[j], vmin=vmin, vmax=vmax, interpolation='nearest')
pl.xticks(np.arange(0,window_size_2,1))
pl.yticks(np.arange(0,window_size_2,1))
pl.gray()
pl.grid( color = 'y' )
pl.savefig('./IW_big/IW_big_' + str("%05d" %i) + "_" + str("%05d" %j) + '.png')
pl.close()
此外,我建议使用interpolation='none'
参数,因为这通常适用于矢量图形。不过,这对您的PNG文件没有任何影响。