1
NxM Numpy配列の各列の行を最も効率的に検索する方法はありますか?私は現在、比較的低速である、Pythonでネストされたループを介してこれをやっているnumpy行列の最大列値の行インデックスの検索
:640×480画像の場合
from PIL import Image
import numpy as np
img = Image.open('sample.jpg').convert('L')
width, height = size = img.size
y = np.asarray(img.getdata(), dtype=np.float64).reshape((height, width))
max_rows = [0]*width
for col_i in xrange(y.shape[1]):
max_vaue, max_row = max([(y[row_i][col_i], row_i) for row_i in xrange(y.shape[0])])
max_rows[col_i] = max_row
、これは約5秒かかります。巨大ではありませんが、Numpy/PIL/Cで完全に実装された、ぼかしのようなもっと複雑な画像操作は0.01秒以下です。これはビデオストリームで実行しようとしている操作なので、大きなボトルネックです。私自身のCエクステンションを書くのに手間がかかりません。