Python中把圖片從矩形處理成正方形
在訓練神經網絡時,數據集中有的圖片是矩形的,但是要求是正方形的,所以要對圖片進行處理,如果直接縮放成正方形,會改變寬和高的比例,導致失真。
這裏用的方法:把圖片粘貼到一張正方形圖片上,然後再縮放。
from PIL import Image
image=Image.open("1.jpg")
image = image.convert('RGB')
w, h = image.size
background = Image.new('RGB', size=(max(w, h), max(w, h)), color=(127, 127, 127)) # 創建背景圖,顏色值爲127
length = int(abs(w - h) // 2) # 一側需要填充的長度
box = (length, 0) if w < h else (0, length) # 粘貼的位置
background.paste(image, box)
image_data=background.resize((256,256))#縮放
background.show()