在 Python 中填充图像

我正在尝试在所有方面添加列和行。

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在该灰度图像范围内的所有像素上广播值,填充的行和列留空。

我正在添加两个图像的屏幕截图,请看一下。

  1. 灰度图像是:

http://img2.mukewang.com/647e9939000128ee04490635.jpg

  1. 广播灰色后的填充图像是:

    http://img2.mukewang.com/647e99430001835104540639.jpg


紫衣仙女
浏览 149回答 2
2回答

LEATH

您可以image width / image height用常数除法和乘法。import matplotlib.pyplot as pltdef 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)输出:

天涯尽头无女友

这里的错误是在定义时padded_array我没有定义数组的数据类型是int,它默认是float,这就是白色图像的原因,一旦我将padded_array中的数据定义为int,结果一切都很好美好的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python