我当前正在处理由一个堆栈组成的图像,每个堆栈18张图像。然后,我对这些图像进行反卷积以产生更清晰的图像。但是,这样做时会出现边界伪像。我花了一些时间编写代码,以确定要填充这些图像的填充板宽度,但是我不确定如何使用np.pad以便生成填充图像。到目前为止,这是我的代码:
xextra = pad_width_x / 2
yextra = pad_width_y / 2
print (xextra)
print (yextra)
其中xextra和yextra是我将要使用的填充宽度。我知道我将需要使用以下代码行来填充数组:
no_borders = np.pad(sparsebeadmix_sheet_cubic_deconvolution, pad_width_x, mode='constant', constant_values=0)
但是我如何才能通过该处理图像堆栈(18张图像)并将其保存为输出?
我希望这有道理!
答案 0 :(得分:1)
如果您的堆栈是nx * ny * 18数组:
import numpy as np
image_stack = np.ones((2, 2, 18))
extra_left, extra_right = 1, 2
extra_top, extra_bottom = 3, 1
np.pad(image_stack, ((extra_left, extra_right), (extra_top, extra_bottom), (0, 0)),
mode='constant', constant_values=3)