【问题标题】:How do I resize images in python for machine learning?如何在 python 中调整图像大小以进行机器学习?
【发布时间】:2020-06-11 20:33:27
【问题描述】:

我使用图像数据集进行机器学习训练。每个图像的宽度为 64 像素,高度也为 64 像素。现在,我想使用来自谷歌的图像测试我的机器学习模型。问题是谷歌图像比训练图像大,我想调整它们的大小,使它们的高度和宽度为 64 像素(就像训练集中的图像一样)。有没有办法在python中做到这一点?我确实找到了一些方法,但它们都保持纵横比。所以,我无法达到 64 x 64 的大小。

【问题讨论】:

  • 您打算使用哪个库进行机器学习? Pytorch 有一个非常好的功能:torchvision.transforms.CenterCrop(),应该可以正常工作。
  • 我正在从头开始制作逻辑回归模型。
  • 不确定您在此处寻找什么。您是否需要将整个图像调整为给定大小,或者您想使用裁剪部分?
  • 将整个图像调整为给定大小。
  • 似乎默认情况下PIL不保持纵横比,所以我不确定问题是什么。

标签: python machine-learning image-processing python-imaging-library


【解决方案1】:

我在 PIL 中找到了调整图像大小且不保持纵横比的函数。

from PIL import Image
image = Image.open('./dataset/image.jpeg')
image= image.resize((64,64))

【讨论】:

    【解决方案2】:

    你可以使用 python-resize-image。

    安装包:

    pip install python-resize-image
    

    例子:

    from PIL import Image
    from resizeimage import resizeimage
    
    #open image file
    with open('image.jpg', 'r+b') as fd_img:
        # create a PIL Image from file
        img = Image.open(fd_img)
        # resize image (contain)
        img = resizeimage.resize_contain(img, [64, 64])
        # covert to RBA incase it's RGBA
        img = img.convert("RGB")
        # save image
        img.save('resized-image.jpg', img.format)
    

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 1970-01-01
      • 2015-05-03
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2019-03-02
      相关资源
      最近更新 更多