为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中填充图像

在 Python 中填充图像

紫衣仙女 2023-06-06 10:25:38
我正在尝试在所有方面添加列和行。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)

输出:

//img1.sycdn.imooc.com//647e99500001e1a502300190.jpg

查看完整回答
反对 回复 2023-06-06
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

这里的错误是在定义时padded_array我没有定义数组的数据类型是int,它默认是float,这就是白色图像的原因,一旦我将padded_array中的数据定义为int,结果一切都很好美好的。



查看完整回答
反对 回复 2023-06-06
  • 2 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信