1

numpy を使用して構造化配列を作成しました。各構造体は、ピクセルの RGB 値を表します。

関数から配列を埋める方法を見つけようとしていますが、「読み取り可能なバッファ オブジェクトが必要です」というエラーが発生し続けます。

関数から個々の値を設定できますが、'fromfunction' を使用しようとすると失敗します。

コンソールから dtype をコピーしました。

誰かが私の間違いを指摘できますか?

2 次元の構造ではなく、3 次元配列を使用する必要がありますか?

import numpy as np

#define structured array
pixel_output = np.zeros((4,2),dtype=('uint8,uint8,uint8'))
#print dtype
print pixel_output.dtype

#function to create structure
def testfunc(x,y):
    return (x,y,x*y)

#I can fill one index of my array from the function.....
pixel_output[(0,0)]=testfunc(2,2)

#But I can't fill the whole array from the function
pixel_output = np.fromfunction(testfunc,(4,2),dtype=[('f0', '|u1'), ('f1', '|u1'), ('f2', '|u1')])
4

1 に答える 1