如何在python中使用np.pad填充图像?

时间:2018-08-02 09:39:08

标签: python numpy image-processing

我当前正在处理由一个堆栈组成的图像,每个堆栈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张图像)并将其保存为输出?

我希望这有道理!

1 个答案:

答案 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)