如何对代表图像的 NumPy 数组进行重采样?
原文:https://www . geeksforgeeks . org/如何重新采样-numpy-array-表示图像/
在本文中,我们将对代表图像的 NumPy 数组进行重采样。为此,我们使用 scipy 包。Scipy 包附带了ndi image . zoom()方法,该方法通过使用给定顺序的样条插值放大 NumPy 数组来为我们实现这一点。默认值为 3 阶(也称为立方)。
对于包含虚部的输入。ndimage.zoom,独立缩放实部和虚部。
语法:scipy . ndi image . zoom(输入,缩放,输出=无,顺序=3,模式= '常量',cval=0.0,前置过滤器=True,* grid _ mode = False)
参数:
- 输入:定义数组
- 缩放:既可以取一个序列,也可以取一个数字,如果是一个数字,则表示在所有轴上应用相同值的缩放,如果提供了序列,则按照给定的顺序应用到 x,y,z…等。
- 输出:默认情况下会创建相同输入数据类型的输出。
- 阶:样条插值,必须在[0,5]之间(含 0,5)。
- 模式** :最重要的参数之一,决定插值必须如何进行,对于边界像素,它可以从这个列表中取值['反射','常数','最近','镜像','环绕']。
- 预滤波:取布尔值,判断输入数组在插值前是否需要用样条滤波进行预滤波。
返回:标准缩放输入。
例子
为了完成缩放任务,我们将首先创建一个如下所示的数组:
蟒蛇 3
import numpy as np
import scipy.ndimage
ndarray = np.array([[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34],
[41, 42, 43, 44]])
print(ndarray)
输出:
[[11 12 13 14]
[21 22 23 24]
[31 32 33 34]
[41 42 43 44]]
例 1: 在本例中,我们将通过
- n 数组作为输入数组
- 缩放:2(用值缩放)
- 阶数:0(样条插值)
由于 order = 0,zoom = 2,所以缩放是在具有相同值的轴上进行的。
蟒蛇 3
print(scipy.ndimage.zoom(
ndarray, 2, order = 0))