16

MatLabからPythonに移行し、imshow関数で遊んでいます。

cmapをグレースケールに選択したのに、値128がグレーとして表示されない理由を理解できないようです。

コード例

最高値(128)と最低値にグレースケールを使用しているようです。[0:255]にグレースケールを使用したいと思います。それ、どうやったら出来るの?

4

1 に答える 1

28

vminおよびvmaxパラメータを使用します。

plt.imshow(bg, cmap=plt.get_cmap('gray'), vmin=0, vmax=255)

vminとを指定せずに、その範囲をデータの最小値と最大値に自動調整しますvmaxplt.imshow


すべてのimshowプロットのデフォルトvminとパラメーターを設定する方法はわかりませんが、デフォルトのパラメーターを設定してカスタムのimshowのようなコマンドを準備するために使用できます。vmaxfunctools.partial

import matplotlib.pyplot as plt
import numpy as np
import functools

bwimshow = functools.partial(plt.imshow, vmin=0, vmax=255,
                             cmap=plt.get_cmap('gray'))

dots = np.random.randn(10, 10)*255
bwimshow(dots)
cbar = plt.colorbar()

plt.show()
于 2012-10-06T14:59:41.833 に答える