plt pixel resize成512*512问题

要怎么把一张451389的影像resize成512512啊
目前我用plt绘制出来的影像是451*389,看了网上plt的resize似乎是针对inch去进行等比例缩放的
有找了其他方法但是resize完会留有白边
或是直接用小画家去进行resize行得通吗? 但这图是要拿去unet train的不知道会不会有影响

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp2d
 
# 建構原始溫度
x = [0, 50, 100, 150, 200, 250, 300, 350]
y = [0, 50, 100, 150, 200, 250, 300]
z = [[14,    15, 14, 16, 18, 16, 15, 15],
     [15,    15, 15, 16, 20, 20, 17, 17],
     [17,    17, 16, 19, 19, 19, 16, 15],
     [0,     0,  15, 0,  19, 0,  16, 0],
     [0,     0,  13, 0,  18, 0,  15, 0],
     [0,     0,  14, 0,  21, 0,  16, 0],
     [0,     0,  14, 0,  20, 0,  16, 0]]
 
# 建構二為線性插值函數
f = interp2d(x, y, z, kind='linear')
 
# 建構x,y新的範圍
x_new = np.arange(0, 350)
y_new = np.arange(0, 300)
 
# 進行插值 /35*255 
z_new = f(x_new, y_new)/35*255
 
# 繪製插值後的影像
plt.imshow(z_new, cmap='gray', vmin=0, vmax=255, interpolation='nearest')
#plt.show()    
output_path = "C:/Labbb/temprature/"
filename = "0222temprature.png"

# 儲存影像
plt.axis('off')
plt.savefig(output_path + filename, bbox_inches = 'tight', transparent=True)


以下回答参考GPT并且由Bony-整理:
你可以使用OpenCV库来实现图像的resize。具体来说,可以使用cv2.resize()函数将451x389的图像resize成512x512,如下所示:

import cv2

# 读入原始影像
img = cv2.imread('原始影像路径')

# 将影像resize成512x512
resized_img = cv2.resize(img, (512, 512))

# 显示resize后的影像
cv2.imshow('resized image', resized_img)
cv2.waitKey(0)

# 保存resize后的影像
cv2.imwrite('保存路径', resized_img)


使用cv2.resize()函数时,第一个参数是原始影像,第二个参数是resize后的影像大小,可以直接传入一个tuple,第三个参数是插值方法,可以根据实际需要选择,默认是cv2.INTER_LINEAR。如果使用cv2.resize()后仍然出现白边,可以使用cv2.copyMakeBorder()函数将图像填充到指定大小,具体可以参考OpenCV的官方文档。