En yüksek değere sahip NxM Numpy dizisinin her sütunundaki satırı bulmak için hızlı ve etkin bir yol var mı?Sayısal matriste maksimum sütun değerlerinin satır dizini bulma
Şu anda nispeten yavaştır Python, içinde yuvalanmış bir döngü aracılığıyla yapıyorum: Bir 640x480 resim için
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
, bu yaklaşık 5 saniye sürer. Çok büyük değil, daha karmaşık görüntü işlemleri, bulanıklaştırma gibi, Numpy/PIL/C'de tamamen uygulandığında 0.01 saniye veya daha az sürer. Bu bir video akışında gerçekleştirmeye çalıştığım bir işlem, bu yüzden büyük bir darboğaz. Bunu nasıl hızlandırabilirim, kendi C uzantımı yazmaktan kısa bir süre sonra?