我正在尝试在所有方面添加列和行。padded_array = np.zeros([img.shape[0] + (size//2) + (size//2), img.shape[1] + (size//2) + (size//2)])
padded_array[size//2 : padded_array.shape[0]-(size//2), size//2 : padded_array.shape[1]-(size//2)] = gray这里,img是原始图像,gray是灰度图像,shape两者都是same。现在,我试图padded_array通过(size//2) rows在顶部和底部以及 (size//2) columns左侧和右侧添加来创建一个。size总是odd。当我尝试填充时,我不明白为什么灰度图像没有广播到填充数组中。相反,它正在做的是255在该灰度图像范围内的所有像素上广播值,填充的行和列留空。我正在添加两个图像的屏幕截图,请看一下。灰度图像是:广播灰色后的填充图像是:
2 回答
LEATH
TA贡献1936条经验 获得超6个赞
您可以image width / image height用常数除法和乘法。
import matplotlib.pyplot as plt
def pad(image, h=2):
w = (image.shape[0]/image.shape[1]) * h
plt.figure(figsize=(w, h))
plt.imshow(im)
plt.axis('off')
plt.show()
im = plt.imread('blur.png')
pad(im)
输出:
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
这里的错误是在定义时padded_array
我没有定义数组的数据类型是int,它默认是float,这就是白色图像的原因,一旦我将padded_array中的数据定义为int,结果一切都很好美好的。
添加回答
举报
0/150
提交
取消