【问题标题】:How to resize PIL.Image to the closest multiples of 3如何将 PIL.Image 调整为最接近 3 的倍数
【发布时间】:2023-02-07 17:17:40
【问题描述】:

假设我有一张图片 (100, 100)。我想将它的大小调整为最接近 3 的倍数。在这种情况下,我想将它的大小调整为 (99, 99)。

有没有好的方法来编写这个算法?

【问题讨论】:

  • 图像对象有一个 .resize() 方法可以做到这一点。但是,为了对图像尺寸进行微小的更改,您可能需要考虑这样做是否值得对质量的潜在影响 - 只是稍微裁剪图像会更好吗?

标签: python algorithm math python-imaging-library


【解决方案1】:

好吧,我想你可以使用一些基本的数学。如果你只想将图像缩小到最接近 3 的倍数,那么你可以做 currSize = currSize - (currSize % 3),否则,如果你想放大图像,那么你应该检查 currSize % 3 是否接近 0 或接近 3 . 如果它更接近于 0 那么你像以前一样做:currSize = currSize - (currSize % 3),否则你做currSize = currSize + (currSize % 3)

【讨论】:

  • 3 * round(currSize / 3) 是获得最接近的 3 倍数的简洁方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多