SciPy库的“ndimage”模块中的“zoom”函数
时间: 2023-11-12 22:06:16 浏览: 883
image_zooming
用于对图像进行缩放操作。该函数可以将图像按指定的尺寸进行放大或缩小,并可以指定插值方法进行图像重构。
函数的语法如下:
```python
scipy.ndimage.zoom(input, zoom, output=None, order=3, mode='constant', cval=0.0, prefilter=True)
```
参数说明:
- `input`:待缩放的图像;
- `zoom`:尺度因子,可以是一个浮点数、一个数组或一个元组。如果是浮点数,则表示按比例缩放。如果是数组或元组,则分别表示在每个维度上的缩放因子;
- `output`:输出图像的大小,可以是一个整数、一个数组或一个元组。如果是整数,则表示输出图像的宽和高相等。如果是数组或元组,则分别表示输出图像在每个维度上的大小;
- `order`:插值方式,可以是0、1、2、3或4,分别表示最近邻插值、双线性插值、三次样条插值、四次样条插值或零阶反卷积插值。默认为3;
- `mode`:边界处理方式,可以是`constant`、`nearest`、`reflect`或`wrap`。默认为`constant`;
- `cval`:当`mode`为`constant`时,用于填充边界的常数值。默认为0;
- `prefilter`:是否进行预滤波。默认为True,表示进行预滤波。
示例:
```python
import numpy as np
from scipy import ndimage
import matplotlib.pyplot as plt
# 创建一个10x10的图像
img = np.zeros((10,10))
# 在图像中心创建一个半径为3的圆形区域
img[4:7,4:7] = 1
# 缩小图像
img_zoomed = ndimage.zoom(img, 0.5)
# 显示原始图像和缩小后的图像
plt.subplot(1,2,1)
plt.imshow(img, cmap='gray')
plt.title('Original Image')
plt.subplot(1,2,2)
plt.imshow(img_zoomed, cmap='gray')
plt.title('Zoomed Image')
plt.show()
```
运行结果如下:
![zoom-example](https://img-blog.csdn.net/20180413172113385?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l1eHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/70)
阅读全文