pythonで実数値配列から部分配列(スライス)を得てその平均値を計算するということを出来るだけ高速に実行したいのですが、
それを効率的に実行する方法にはどんなことがあるでしょうか?
例えば画像画素値の配列から、縮小画像の配列を得るような計算をしたいのです。
python
1 for i in range(size): 2 for z1 in range( count ): 3 for x1 in range( count ): 4 for y1 in range( count ): 5 avg[ i ][ z1 ][ y1 ][ x1 ] = np.average( data[ i , z1 , x1*width:(x1*width +width) , y1*width:( y1*width +width) ] )
今はこのようにしていますが
もっと良いコードがあると思っています。
今何を使ってどの程度でどのぐらい早くしたいんでしょうか
画像処理が目的なら、Pillow https://pillow.readthedocs.io/ のようなモジュールを使えば画像フォーマット変換なども含めて面倒みてくれるので早いです。実現したいことをもうちょっと具体的に教えてもらえますか。
処理自体は縮小画像を得るような処理を何百万回も実行したいのですが、 配列は一回ごとに新しく得られるため、事前に縮小画像を作っておくという方法では役に立ちませ
ソースコードを示して戴きましたが、ソースコードは実際に動作するもの (かつ、質問と関係ない処理はなるべく省いたもの) を提示して下さい。
回答2件
あなたの回答
tips
プレビュー