python3でpilを用いて手持ちの画像をグレースケールに変換しようとしているのですが、白黒にならずコントラストが強く出たようなカラー画像になってしまいます。
以下書いてみたコードです。
from PIL import Image
from pylab import *
im = Image.open(‘ocean.jpg’)
gray = im.convert(‘L’)
gray.save(‘grayocean.jpg’)
imshow(gray)
show()
セーブした画像を端末から直接開くと白黒画像にちゃんとなっているのですが、spyder上から開くとコントラストの高いカラー画像になってしまいます。この方法では白黒画像は表示できないのでしょうか?
環境 ubuntu14.04 python3 spyder
Q.1実際のコードは上記のものだけでしょうか?Q.2実際のocean.jpgを張り付けられますか?その方が回答が得られやすいと思います。
'LA'を指定することで、グレースケールで表示することが出来ました。しかし、この方法だとjpgで保存できませんので、参考程度に書いておきます。最悪表示と保存とでオブジェクトを使い分けるのありですが...
薄弱な根拠・根本的でない解・環境の相違(Win10)・単なる知識の不足・・・見られるレベルの回答が書けそうにないので。
たしかに'LA'でグレースケールに変換することができました!中身を見たところ0~255の1要素ではなく2要素で構成されているようですね。初めて見たので調べてみようと思います。
回答1件
あなたの回答
tips
プレビュー