私はグレースケール、24 * 24ピクセルの画像ファイル(私はタイプを決めていないので、提案は大歓迎です)を取り、それを0(白)のピクセル値のリストに変換するPythonプログラムを作成しようとしています。 〜255(黒)。グレースケールイメージをピクセル値のリストに変換するにはどうすればよいですか?
このアレイを使用して、Tensor-Flow手書き認識アルゴリズムで認識できる画像のMNISTのようなバイトファイルを作成する予定です。
Iは、各画素を反復とPILインポートイメージ
img = Image.open('eggs.png').convert('1')
rawData = img.load()
data = []
for y in range(24):
for x in range(24):
data.append(rawData[x,y])
からアレイ に値を追加することによって、Pillow libraryこのタスクにおいて最も有用であることが判明しているけれども、この解決策は、(1 2つの問題があります)ピクセル値は整数として格納されるのではなく、それ以上数学的に操作することができないため、役に立たないピクセルオブジェクトです。 (2)枕の状態でも:
個々のピクセルへのアクセスはかなり遅いです。イメージ内のすべてのピクセルをループしている場合は、> Pillow APIの他の部分を使う方が速いでしょう。
マシン上でコードを実行すると、 'data'は通常の整数のリストです。 – Kevin
ドキュメントは[getdata](https://pillow.readthedocs.io/ja/3.4.x/reference/Image.html#PIL.Image.Image)を参照している可能性があります。getdata)は、ピクセル単位のアクセスより高速です。 – Kevin
私は個々のピクセルアクセスでは遅くないPythonライブラリを認識していません。 – Douglas