我有一個挑戰:寫作convolve
函數圖像56x56參數作爲數組,第二個arg內核在我的情況下是1x3或3x1的矩陣。
要點是用使用只有numpy
。
我有一個使用convolve
從scipy
HOG過濾器,但我需要convolve
函數來工作。Python,從ndimage過濾器卷積功能
我不知道如何開始,有沒有人有信息如何輕鬆完成或有人有類似的東西寫在以前?
我有一個挑戰:寫作convolve
函數圖像56x56參數作爲數組,第二個arg內核在我的情況下是1x3或3x1的矩陣。
要點是用使用只有numpy
。
我有一個使用convolve
從scipy
HOG過濾器,但我需要convolve
函數來工作。Python,從ndimage過濾器卷積功能
我不知道如何開始,有沒有人有信息如何輕鬆完成或有人有類似的東西寫在以前?
如果你的過濾器是唯一1D(例如,1×3或3×1),可以使用一維卷積行或按逐列:
def my_conv(im2d, ker1d):
out = np.zeros(im2d.shape, dtype=im2d.dtype) # allocate output assuming mode='same'
if ker1d.shape[0] == 1:
# horizontal kernel
for row in xrange(im2d.shape[0]):
out[row,:] = np.convolve(im2d[row,:], ker1d.flatten(), mode='same')
elif ker1d.shape[1] == 1:
# vertical kernel
for col in xrange(im2d.shape[1]):
out[:,col] = np.convolve(im2d[:,col], ker1d.flatten(), mode='same')
else:
raise ValueError('input kernel is not 1D')
return out
你試過[numpy.convolve(https://開頭的文檔。 scipy.org/doc/numpy/reference/generated/numpy.convolve.html)? – mgamba
當然,這是第一件事,我已經做了,np.convolve只適用於一個暗淡的數組,並不會與圖像 – Joshua