在numpy中把单通道灰度图转换成三通道
时间: 2023-09-24 14:14:18 浏览: 323
Pytorch自己加载单通道图片用作数据集训练的实例
可以使用numpy的广播功能将单通道灰度图转换为三通道图像。
具体步骤如下:
1. 读取单通道灰度图像并用numpy转换为矩阵形式。
2. 使用numpy的expand_dims函数将矩阵扩展一个维度,变成三维矩阵。
3. 使用numpy的repeat函数将矩阵在新的维度上重复三次,得到三通道矩阵。
4. 将三通道矩阵转换为图像格式并保存。
示例代码如下:
```python
import numpy as np
import cv2
# 读取单通道灰度图像并用numpy转换为矩阵形式
img_gray = cv2.imread('gray.png', cv2.IMREAD_GRAYSCALE)
img_gray_mat = np.array(img_gray)
# 使用numpy的expand_dims函数将矩阵扩展一个维度,变成三维矩阵
img_gray_mat_3d = np.expand_dims(img_gray_mat, axis=2)
# 使用numpy的repeat函数将矩阵在新的维度上重复三次,得到三通道矩阵
img_color_mat = np.repeat(img_gray_mat_3d, 3, axis=2)
# 将三通道矩阵转换为图像格式并保存
img_color = cv2.cvtColor(img_color_mat, cv2.COLOR_BGR2RGB)
cv2.imwrite('color.png', img_color)
```
其中,gray.png是单通道灰度图像的文件名,color.png是转换后的三通道图像的文件名。
阅读全文