2017-09-06 4 views
-1

私はプログラムを作成していますが、プログラムの機能の1つでは、画像を生成する必要があります。私は現在配列を持っていて、Python Imaging Libraryが配列を反復処理し、png/jpeg形式で1を黒、0を白にしたいとします。ご回答いただきありがとうございます。Python Imagingライブラリの配列を反復する

+1

こんにちは!イメージを動的にレンダリングすることは興味深い話題かもしれませんが、あなたの解決策への正しい答えを見つけるのは難しいでしょう。いつでも質問を編集することができますので、他の読者があなたがしようとしていることについてのアイデアを得るのを助けるためのコードを自由に追加してください。 – ventiseis

+0

イメージは1ピクセル高く、len(配列)ピクセル幅になりますか? –

+0

あなたの配列はどうですか? 'numpy'配列ですか? 'matplotlib'を使ってイメージやPyPNGとして保存することができます:https://github.com/drj11/pypng/ ...もっと詳しく – Dadep

答えて

0

PILを使用してイメージとして保存する必要がある0と1のNxN配列があるとします。

このソリューションから生成される画像は、概念を実証するために非常に基本的です。あなたは次のレベルにそれを取るために研究することができます。

私たちはあなたの正確な配列を持っていないので、最初にランダムに生成された1と0を入れたサイズNxNの配列を作成します。

N = 128 
myarray = np.random.randint(2, size=(N, N)) 

次の私たちがここでnp.uint8

myarray = np.asarray(myarray, dtype=np.uint8) 

dtypeに配列をキャストは、上から発生した配列です。

myarrayの

配列([0、1、0、...、1、0、1]、 [1、0、1、...、 1、0,0]、 [1,1,1、... 1,0,0]、 ...、 [1,0,0、...、0,0,0]、 [0,1,1、...、1,0] [0,1,1、... 1,0,1]、dtype = uint8)

次はpngに画像を保存し、配列

myimage = Image.fromarray(myarray, mode='1') #mode 1 for B&W 

次からイメージオブジェクトを作成します。

myimage.save("out.png") 

生成された画像

enter image description here