numpy.ndarray和图片怎么转换
时间: 2024-05-16 21:15:03 浏览: 101
将图片转换为numpy.ndarray可以使用PIL库中的Image模块,具体转换代码如下:
```python
from PIL import Image
import numpy as np
image = Image.open('image.jpg')
image_array = np.array(image)
```
这里的`image.jpg`是要转换的图片文件,`Image.open()`打开图片并返回一个`PIL.Image.Image`对象,然后使用`np.array()`将其转换为numpy.ndarray格式。
将numpy.ndarray转换为图片同样可以使用PIL库中的Image模块,具体转换代码如下:
```python
from PIL import Image
import numpy as np
image_array = np.random.randint(0, 255, size=(224, 224, 3), dtype=np.uint8)
image = Image.fromarray(image_array)
image.save('image.jpg')
```
这里生成一个随机的numpy.ndarray格式的图片,然后使用`Image.fromarray()`将其转换为`PIL.Image.Image`对象,最后使用`image.save()`保存为图片文件。注意,保存图片文件时需要指定文件格式,如`.jpg`、`.png`等。
相关问题
opencv numpy.ndarray 转换成图片
可以使用 `cv2.imshow()` 函数来显示 `numpy.ndarray` 类型的图像,示例代码如下:
```python
import cv2
import numpy as np
# 创建一个 200x200 的黑色图像
img = np.zeros((200, 200), dtype=np.uint8)
# 在图像中心画一个白色圆形
cv2.circle(img, (100, 100), 50, 255, -1)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述示例中,我们创建了一个 200x200 大小的黑色图像,并在其中心画了一个白色圆形。然后使用 `cv2.imshow()` 函数来显示图像,其中第一个参数为窗口名称,第二个参数为图像数据。最后使用 `cv2.waitKey()` 函数来等待用户按下任意键,以便关闭窗口。
opencv numpy.ndarray 转换成图片格式
可以使用OpenCV中的`imwrite`函数将`numpy.ndarray`数组保存为图片格式。以下是一个例子:
```python
import cv2
import numpy as np
# 创建一个随机的numpy数组作为图像
img_array = np.random.randint(0, 256, size=(300, 400, 3), dtype=np.uint8)
# 将numpy数组保存为图片
cv2.imwrite("image.jpg", img_array)
```
这将创建一个名为`image.jpg`的图像文件,其中包含随机生成的300x400像素的彩色图像。