0
有沒有一種方法來優化這段代碼?以我當前的價值,這需要我28秒。想知道如果我能減少這個時間。優化NumPy遍歷圖像並更改值
im = output_image[-min_xy[1]:-min_xy[1] + image_2.shape[0], -min_xy[0]:-min_xy[0] + image_2.shape[1]]
for idx, rk in enumerate(im):
for ix, k in enumerate(rk):
image_2[idx][ix] = avg(im[idx][ix], image_2[idx][ix])
type(image_2)
和type(im)
是<type 'numpy.ndarray'>
im.shape
和image_2.shape
是(2386, 3200, 3)
什麼我avg()
確實是
def avg(a1, a2):
if [0., 0., 0.] in a1:
return a2
else:
return (a1 + a2)/2
注:a1
是3號前的數組:array([ 0.68627451, 0.5372549 , 0.4745098])
嘗試看看,如果你的算法的行爲就像任何矩陣變換或操作? –
用a1中的if [0.,0,0,0]來檢查** a1中的任何人是否爲零**。你確定你想要嗎? – Divakar
@Liondancer這不回答我的問題,它是 - 在a1:'中使用'if [0.,0,0,0],你是否試圖檢查'a1'中的'ALL'元素是否爲零或if 'a1'中的「ANY」一個元素爲零? – Divakar