質問: im.convert(‘L’) gray.save(‘grayocean.jpg’) imshow(gray) show() セーブした画像を端末から直接開くと白黒画像にちゃんとなっているのですが、spyder上から開くとコントラストの高いカラー画像になってしまいます。この方法では白黒画像は表示できないのでしょうか? 環境 ubuntu14.04 python3 spyder ーー追加ーー 画像が挿入できることに気づきませんでした(;_;) ![変換前](https://teratail.storage.googleapis.com/uploads/contributed_images/673fecaf7ca7ae1dc2fa3ffd0f28cd8c.jpeg) ![変換後spyder上で表示されたもの](https://teratail.storage.googleapis.com/uploads/contributed_images/5cad26d7f4a52ad1cb2924e0dbcaa3be.png) ![saveしたあと端末から開いたもの](https://teratail.storage.googleapis.com/uploads/contributed_images/246de6e3e3e82b00057ab9dc5a251b9c.jpeg)
回答: pylabを使ったことはなかったのですが、実体はmatplotlibみたいですね。 matplotlibはグラフでよく使うモジュールで、 グラフのスケールがたぶん`0`が青、`255`が赤になっているのだと思います。 私のとこではライムっぽい色になりました。 !ライム! 質問の真ん中の写真(0から数字の割り振ってあるスケール)の画面の時に、 画像の上をマウスをザーッと走らせると画素に合わせて下に値が出てくると思いますので、 言いたいことがなんとなく伝わると思います。 このライム色っぽい写真の場合、右上の空が`240`:黄色でした。 これが、下のコードを実行すると ``` # coding: UTF-8 from PIL import Image from pylab import * im = Image.open("ocean.jpeg") gray = im.convert("L") gray.save("grayocean.jpg") #imshow(gray) imshow(gray, cmap='gray', interpolation='nearest') show() ``` こうなります。 !グレースケール! この場合、右上の空が`240`:白色でした。 カラースケールはmatplotlib.orgを参考にするとよいと思います。