怎么用numpy自定义函数对图片进行放大缩小
时间: 2023-08-10 17:03:44 浏览: 81
numpy对图片简单处理
使用 numpy 可以对图片进行放大和缩小,具体操作如下:
1. 首先,需要导入 numpy 和 PIL 库,其中 PIL 库用来读取和保存图片文件。
```python
import numpy as np
from PIL import Image
```
2. 然后,使用 PIL 库中的 `Image.open()` 方法打开待处理的图片,并将其转换为 numpy 数组。
```python
img = Image.open('image.jpg')
img = np.array(img)
```
3. 对图片进行缩放,可以使用 numpy 库中的 `resize()` 方法实现。例如,将图片缩小一半:
```python
img_scaled = np.resize(img, (img.shape[0]//2, img.shape[1]//2, img.shape[2]))
```
4. 对图片进行放大,可以使用 numpy 库中的 `repeat()` 方法实现。例如,将图片放大两倍:
```python
img_scaled = np.repeat(np.repeat(img, 2, axis=0), 2, axis=1)
```
5. 最后,将处理好的 numpy 数组转换为 PIL 图片对象,并使用 `save()` 方法保存到本地。
```python
img_scaled = Image.fromarray(np.uint8(img_scaled))
img_scaled.save('image_scaled.jpg')
```
以上就是使用 numpy 对图片进行放大缩小的方法。需要注意的是,缩小图片时使用 `resize()` 方法,放大图片时使用 `repeat()` 方法,否则会导致图片失真或变形。
阅读全文