我想将大小为500x500x3的RGB图像填充到512x512x3。我知道我需要在每个边框上添加6个像素,但我不知道如何做。我已经阅读了numpy.pad函数文档,但不知道如何使用它。代码片段将不胜感激。
答案 0 :(得分:2)
我们可以尝试通过添加边框填充来获得解决方案,但这样做会有些复杂。我建议您可以选择其他方法。首先,我们可以创建大小为512x512
的画布,然后将您的原始图像放置在该画布中。您可以从以下代码获取帮助:
import numpy as np
# Create a larger black colored canvas
canvas = np.zeros(512, 512, 3)
canvas[6:506, 6:506] = your_500_500_img
很显然,您可以将6和506转换为更通用的变量,并将其用作padding
,512-padding
等,但是此代码说明了这一概念。
答案 1 :(得分:2)
如果需要填充0:
RGB = np.pad(RGB, pad_width=[(6, 6),(6, 6),(0, 0)], mode='constant')
使用constant_values
参数填充不同的值(默认为0):
RGB = np.pad(RGB, pad_width=[(6, 6),(6, 6),(0, 0)], mode='constant', constant_values=0, constant_values=[(3,3),(5,5),(0,0)]))