不按比例缩放
from PIL import Image, ImageOps
import matplotlib.pyplot as plt
import numpy as np
import cv2
img = cv2.imread('./Homework/homework2/1.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = Image.fromarray(img)
h, w = img.size
print('img_size:', h, w)
target_size = (200, 200)
new_image = img.resize(target_size)
new_h, new_w = new_image.size
print('new_img_size:', new_h, new_w)
fig = plt.figure(figsize=(12,12))
a = fig.add_subplot(2,1,1)
plt.imshow(img)
a.set_title('Before')
a = fig.add_subplot(2,1,2)
plt.imshow(new_image)
a.set_title('After')
plt.show()
按比例缩放
from PIL import Image, ImageOps
import matplotlib.pyplot as plt
origin_img = Image.open('./Homework/homework2/1.jpg')
h, w = origin_img.size
print('img_size:', h, w)
target_size = (200, 200)
scale_img = origin_img.copy()
scale_img.thumbnail(target_size, Image.ANTIALIAS)
new_h, new_w = scale_img.size
print('new_img_size:', new_h, new_w)
new_img = Image.new("RGB", (h, w), (255, 255, 255))
new_img.paste(scale_img, (int(target_size[0]-scale_img.size[0]/2), int(target_size[1]-scale_img.size[1]/2)))
fig = plt.figure(figsize=(12,12))
a = fig.add_subplot(2,1,1)
plt.imshow(origin_img)
a.set_title('Resized')
plt.show()