1

2 つの 16 ビット グレースケール イメージがあります。1 つは、より大きなイメージのサブイメージです。それらは中心にあります。 小さいが少し明るく見えることに注意してください。

2つ並べると小さい方が明るく見えます。基本的に私がやりたいことは、同じグレースケール値の表現を維持することです。つまり、小さい画像が大きい画像と同じ強度の外観を持つようにしたいです (それぞれのピクセルの 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 に答える