317

このように配列を作成しました:

import numpy as np
data = np.zeros( (512,512,3), dtype=np.uint8)
data[256,256] = [255,0,0]

これで実行したいのは、512x512の画像の中央に1つの赤い点を表示することです。(少なくとも最初は...私はそこから残りを理解できると思います)

4

10 に答える 10

365

以下が機能するはずです。

from matplotlib import pyplot as plt
plt.imshow(data, interpolation='nearest')
plt.show()

Jupyter ノートブック/ラボを使用している場合は、matplotlib をインポートする前に次のインライン コマンドを使用します。

%matplotlib inline 

より機能的な方法は、ipyml をインストールpip install ipymplして使用することです

%matplotlib widget 

を参照してください。

于 2010-04-17T17:43:33.423 に答える
313

PIL を使用して画像を作成 (および表示) できます。

from PIL import Image
import numpy as np

w, h = 512, 512
data = np.zeros((h, w, 3), dtype=np.uint8)
data[0:256, 0:256] = [255, 0, 0] # red patch in upper left
img = Image.fromarray(data, 'RGB')
img.save('my.png')
img.show()
于 2010-04-17T17:46:54.520 に答える
50

最短パスはscipy、次のように を使用することです。

from scipy.misc import toimage
toimage(data).show()

これには、PIL または Pillow もインストールする必要があります。

PIL または Pillow も必要とするが、別のビューアーを呼び出す可能性がある同様のアプローチは次のとおりです。

from scipy.misc import imshow
imshow(data)
于 2010-04-17T17:42:53.327 に答える
5

pygameを使用すると、ウィンドウを開いて、ピクセルの配列としてサーフェスを取得し、そこから必要に応じて操作できます。numpy配列をサーフェス配列にコピーする必要がありますが、これはpygameサーフェス自体で実際のグラフィック操作を実行するよりもはるかに遅くなります。

于 2010-04-17T17:35:23.090 に答える
5

枕の fromarray を使用します。たとえば、次のようになります。

from PIL import Image
from numpy import *

im = array(Image.open('image.jpg'))
Image.fromarray(im).show()
于 2019-08-21T18:54:54.557 に答える
1

Python Imaging Libraryは、Numpy 配列を使用して画像を表示できます。サンプル コードについては、次のページをご覧ください。

編集:そのページの下部にあるメモにあるように、これをより簡単にする最新のリリースノートを確認する必要があります。

http://effbot.org/zone/pil-changes-116.htm

于 2010-04-17T17:39:50.447 に答える