web-dev-qa-db-ja.com

.npy画像の表示

プロジェクト用にダウンロードしてPythonを学習するためにいくつかのコードを操作しているときに、コードが取得するファイルの一部は、.npyデータファイルとして保存されている画像です。

私はPythonnumpyに比較的慣れていないため、投稿する前に参照したリソースの多くは、.npyとして保存された数値データに関するものでした。この拡張子で保存されている画像を表示し、自分のファイルをその形式で保存する方法はありますか?

10
Joshua Jenkins

_.npy_はnumpy配列のファイル拡張子です- _numpy.load_ を使用してそれらを読み取ることができます:

_import numpy as np

img_array = np.load('filename.npy')
_

それらを表示する最も簡単な方法の1つは、matplotlibの imshow 関数を使用することです。

_from matplotlib import pyplot as plt

plt.imshow(img_array, cmap='gray')
plt.show()
_

PILまたは枕 を使用することもできます。

_from PIL import Image

im = Image.fromarray(img_array)
# this might fail if `img_array` contains a data type that is not supported by PIL,
# in which case you could try casting it to a different dtype e.g.:
# im = Image.fromarray(img_array.astype(np.uint8))

im.show()
_

これらの関数はPython標準ライブラリの一部ではないので、まだインストールしていない場合は、matplotlibやPIL/pillowをインストールする必要があるかもしれません。また、ファイルがピクセル値の2D _[rows, cols]_(白黒)または3D [rows, cols, rgb(a)](color)配列のいずれかです。そうでない場合は、配列の形式について詳しく教えてください。 _img_array.shape_と_img_array.dtype_の例.

enter image description here

17
ali_m