1

我有两个 16 位灰度图像。一个是大图像的子图像。他们居中。 较大较小的通知,较小的看起来稍微更亮。

当两者显示时,较小的看起来更亮。基本上我想做的是它们保持相同的灰度值表示,即我希望较小的图像具有与较大的图像相同的强度外观(因为各个像素中的 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() 
4

1 回答 1

4

您可以使用函数vmin的和vmax参数自己设置强度值:imshow

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 文件没有任何影响。

于 2013-07-25T14:22:11.500 回答