2017-12-01 7 views
0

Pythonでカラーマップと共に保存されている単一チャンネルのpngファイルを読み込む必要があります。彼らはラベルのインデックスを含んでいるので、それらをリサイズすることは私には不適切です。Pythonでcmapを使ってシングルチャンネルのpngでimreadを行うときのリスケールを抑制する方法は?

私はいくつかの奇妙な理由で、scipy.misc.imreadcv2.imreadの両方が画像をロードするときに画像のサイズを変更することに気付きました。どうすればそれを抑えることができますか?

編集
私はちょうど任意のカラーマップなしpngの他の単一チャネル上で同じことを試してみました。再スケーリングの問題はありません。したがって、カラーマップは問題のようです。ここ

は、例えば画像である(それは、単一のチャネル、色がカラーマップから来る'S):(枕にちょうど[非推奨]フロントエンドである)
Here is an example image

+0

どのようにこれらを使用しましたか?どのモードがscipyのimreadを使って選択されましたか? – sascha

+0

'im = scipy.misc.imread(im_name、flatten = True)'を試しました。しかし、上記のように、これらのPNGにはカラーマップが格納されているため、問題が発生しているようです。 (Matlabでも動作します) – mcExchange

+0

イメージのいずれかをどこかに投稿できますか? –

答えて

1

代わりのscipy.misc.imreadを使用して、直接枕を使用。インデックス付きImageオブジェクトがnp.array()に与えられると、インデックスの配列が作成されます。

In [101]: from PIL import Image 

In [102]: img = Image.open('WWpd3.png') 

In [103]: a = np.array(img) 

In [104]: a.shape, a.dtype 
Out[104]: ((160, 320), dtype('uint8')) 

In [105]: a.min(), a.max() 
Out[105]: (0, 19) 

In [106]: a[:3, :8] 
Out[106]: 
array([[19, 19, 19, 19, 19, 19, 19, 19], 
     [19, 10, 10, 5, 5, 10, 10, 10], 
     [19, 10, 10, 5, 5, 10, 10, 10]], dtype=uint8) 
+0

ありがとう、それは動作します!これは全く明らかではありませんでした!なぜ4つの閉鎖要求とdownvoteを持っているのか不思議で... – mcExchange

関連する問題