python,小图填充方式变大图

目前需要将小图填充为大图
这个是原图,大小为127*175*3
这个是原图,大小为(127,175,3)。
在这里插入图片描述
原图大小不变的情况下,周围填充黑色为(200,200,3)的图片。

Python代码如下,np.pad起到了在数组中填充元素的作用。np.pad的参数解释:
constant_values=0:在需要填充的图像img边缘填充constant_values指定的数值
第一组参数((10,img_0-10),(10,img_1-10),(0,0))
(10,img_0-10):在img的第0个维度上,在img前面填充10个constant_values,在img后面填充img_0-10个constant_values
(10,img_1-10):在img的第1个维度上,在img前面填充10个constant_values,在img后面填充img_1-10个constant_values
(0,0):在img的第2个维度上,在img前面填充0个constant_values,在img后面填充0个constant_values,相当于不填充

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
imgpath='C:\\Users\Desktop\\1.jpg'
img=np.array(Image.open(imgpath) )
print(img.shape)

img_0=200-img.shape[0]#第0个维度填充到200需要的像素点个数
img_1=200-img.shape[1]#第1个维度填充到200需要的像素点个数
img_pad=np.pad(img,((10,img_0-10),(10,img_1-10),(0,0)),'constant', constant_values=0)


new_im = Image.fromarray(img_pad.astype(np.uint8))
new_im.show()

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值