Python PIL保存功能创建的图像太大

Python PIL保存功能创建的图像太大,python,image,resize,python-imaging-library,Python,Image,Resize,Python Imaging Library,我有一个不同大小的png图像数据集(大部分约为400x400像素),每个图像的重量约为30ko。由于其中一些不是完美的正方形,我有时需要去掉一行/一列像素。因此,我使用pil导入文件,将其转换为numpy数组,删除行/列,然后使用pil save将其保存回: for i in range(len(database)): file_name = str(i)+".png" original_file_path = os.path.join(original_pa

我有一个不同大小的png图像数据集(大部分约为400x400像素),每个图像的重量约为30ko。由于其中一些不是完美的正方形,我有时需要去掉一行/一列像素。因此,我使用pil导入文件,将其转换为numpy数组,删除行/列,然后使用pil save将其保存回:

for i in range(len(database)):
    file_name = str(i)+".png"
    original_file_path = os.path.join(original_path, file_name)
    image = Image.open(original_file_path)
    width, height = image.size
    if(width != height):
         if(width - height == 1):
              image_array = np.array(image)
              image_array = np.delete(image_array, (width - 1), 1)
              image = Image.fromarray(image_array)
         elif(height - width == 1):
              image_array = np.array(image)
              image_array = np.delete(image_array, (height - 1), 0)
              image = Image.fromarray(image_array)
image.save(os.path.join(new_path, file_name),format="png", optimize=True) 
尽管我使用了参数optimize,但最后的图像重量接近300ko,是否可以使用30ko大小的图像

谢谢你的回答


请回答您的问题,并添加一个“重”约30 KB的示例图像文件,以便其他人可以重现问题并测试解决方案。看起来您是从一个带有调色板的PNG开始的,新图像不是使用调色板,就是使用的调色板远远不是最佳的。请提供一个样本
PNG
输入和输出图像-而不是
JPEG
。您只想删除一些行/列,还是需要进行其他处理?最后,我希望所有图像的大小都调整为固定大小:380x380。对于提供的图片,我正在加载png,但它将其转换为jpgIf。您不能通过imgur提供png图像,请使用Dropbox、Google Drive或类似工具。如果您的输入图像是400x400,并且您希望它是380x380,您是调整它的大小还是裁剪它?