使用高階跨步實現更有效率的移動平均濾波器
簡介:
簡介:簡介:
簡介:
簡介:<code class="python">import numpy as np filtsize = 3 a = numpy.arange(100).reshape((10,10)) b = np.lib.stride_tricks.as_strided(a, shape=(a.size,filtsize), strides=(a.itemsize, a.itemsize)) for i in range(0, filtsize-1): if i > 0: b += numpy.roll(b, -(pow(filtsize,2)+1)*i, 0) filtered = (numpy.sum(b, 1) / pow(filtsize,2)).reshape((a.shape[0],a.shape[1]))</code>
簡介:
建議的技術涉及使用 NumPy 的 stride_tricks.as_strided( ) 函數建立一個與原始陣列上的移動視窗相對應的陣列。透過垂直和水平滾動該數組,可以有效地對內核值求和以計算每個像素的平均值。
實現:記憶體效率:
以上是高階跨步如何提高移動平均濾波器的效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!