1
192
是的,你可以安装
在这里
与大多数选项一样,没有“最佳”选项,因为对于每个调整大小模式,都存在一种策略优于另一种策略的情况。 |
2
111
虽然可以单独使用numpy来执行此操作,但此操作不是内置的。也就是说,你可以使用
Scikit图像重缩放文档是 here . 例如,可以对图像执行以下操作:
这将为您解决插值、抗锯齿等问题。 |
3
29
对于那些从谷歌来这里寻找快速减少图像采样方法的人来说
以下示例将样本从128x128减少到64x64(这很容易更改)。 频道上次订购
频道首次订购
对于灰度图像,只需更改
频道首次订购
此方法使用等效的最大池。这是我找到的最快的方法。 |
4
20
单线numpy解决方案 降采样 (2人):
和 上采样 (2人):
(这将HxWxC形状的图像。在上述注释中,h/t为L.K·rkk·inen。请注意,此方法仅允许调整整个整数的大小(例如,2x,但不允许1.5x)) |
5
18
如果有人来这里寻找一种在Python中缩放/调整图像大小的简单方法,而不需要使用其他库,那么这里有一个非常简单的图像大小调整函数:
用法示例:将(30 x 30)图像大小调整为(100 x 200):
这可以缩小/缩放图像,并且可以很好地处理numpy阵列。 |
6
4
对于想要调整(插入)一批numpy数组大小的人,pytorch提供了更快的函数名 torch.nn.functional.interpolate ,请记住使用np。首先转置,将通道从batchxWxHx3更改为batchx3xWxH。 |
7
3
SciPy的
大小
–以像素为单位的请求大小,作为2元组:(宽度、高度)。
此处链接: https://pillow.readthedocs.io/en/3.1.x/reference/Image.html#PIL.Image.Image.resize |
8
2
几年后偶然发现了这一点。到目前为止,答案似乎可以分为以下几类:
这些解决方案都是值得尊敬的,所以我提供这些只是为了完整性。 它有三个优点:(1)它可以接受任意分辨率,甚至是两个标度因子的非幂次;(2) 它使用纯Python+Numpy,没有外部库;(3)它会对所有像素进行插值,以获得“更好看”的结果。 它没有很好地利用Numpy,因此 不快 ,尤其是对于大型图像。如果您只是重新缩放较小的图像,应该可以。我根据Apache或MIT许可证提供此服务,由用户自行决定。
样本重缩放:
|
9
1
当然您可以在没有OpenCV、scikit image或PIL的情况下完成此操作。 图像大小调整基本上是将每个像素的坐标从原始图像映射到其大小调整后的位置。 由于图像的坐标必须是整数(将其视为矩阵),如果映射的坐标具有十进制值,则应插值像素值以将其近似为整数位置(例如,获取距离该位置最近的像素称为 Nearest neighbor interpolation ).
您所需要的只是一个为您执行此插值的函数。SciPy有
您可以使用它来调整numpy数组中的图像大小,例如
当然,如果图像是RGB,则必须对每个通道执行插值。 如果你想了解更多,我建议你看 Resizing Images - Computerphile . |
10
-1
|
serlingpa · 如何准备我的数据以避免无法推断频率 1 年前 |
Guillaume · 使用操作从Python列表创建numpy数组 2 年前 |
mikanim · 改进二维余弦函数的numpy功能 2 年前 |
Klimt865 · 在Python中将数组列表转换为列表列表 2 年前 |
Lynn · 如果列包含Python中的特定字符串,则从列中删除值 2 年前 |
Jan Hrubec · 选择numpy数组的前n个元素 2 年前 |