我正在尝试使用numpy在python中执行2D卷积。
我有一个如下的2D数组,其中行使用H_r核,列使用H_c核。
我有一个如下的2D数组,其中行使用H_r核,列使用H_c核。
data = np.zeros((nr, nc), dtype=np.float32)
#fill array with some data here then convolve
for r in range(nr):
data[r,:] = np.convolve(data[r,:], H_r, 'same')
for c in range(nc):
data[:,c] = np.convolve(data[:,c], H_c, 'same')
data = data.astype(np.uint8);
它没有产生我期望的输出,这段代码看起来没问题,我认为问题在于从float32转换成8位时的强制类型转换。最好的方法是什么?
谢谢