我的LiTS2017数据集是二维的数据集。数据集里面有命名为train_liver_tumor2的文件夹和命名为liver_tumor2_label的文件夹。train_liver_tumor2文件夹里面有图像,图像的拓展名为.png。liver_tumor2_label文件夹里面有标签,标签拓展名为.png。 请将我的train_liver_tumor2文件夹里面的图像变成RGB三通道的图片,再将RGB三通道图片中的肝脏部分染成红色,肿瘤部分染成蓝色。 我的二维LiTS2017数据集的路径为E:\2D-LiTS2017liver_tumor。保存路径为E:\2D-LiTS2017color,帮我创建保存图像与标签的文件夹,并且将转换好的数据保存到对应的文件夹。
时间: 2024-02-22 17:57:56 浏览: 52
LITS2017肝脏肿瘤分割挑战数据集
5星 · 资源好评率100%
好的,我可以使用Python中的Pillow库来实现这个功能。请确保已经安装了Pillow库。以下是代码实现:
```python
from PIL import Image
import os
# 创建保存图像和标签的文件夹
save_path = "E:/2D-LiTS2017color"
os.makedirs(os.path.join(save_path, "images"), exist_ok=True)
os.makedirs(os.path.join(save_path, "labels"), exist_ok=True)
# 读取train_liver_tumor2文件夹中的图像并转换为RGB三通道的图片
image_path = "E:/2D-LiTS2017liver_tumor/train_liver_tumor2"
for file in os.listdir(image_path):
img = Image.open(os.path.join(image_path, file)).convert("RGB")
# 将肝脏部分染成红色
img_array = np.array(img)
liver = img_array[:, :, 0] == 255
img_array[liver] = [255, 0, 0]
img = Image.fromarray(img_array)
# 将肿瘤部分染成蓝色
label_file = file[:-4] + "_label.png"
label = Image.open(os.path.join("E:/2D-LiTS2017liver_tumor/liver_tumor2_label", label_file))
label_array = np.array(label)
tumor = label_array == 255
img_array[tumor] = [0, 0, 255]
img = Image.fromarray(img_array)
# 保存图像和标签
img.save(os.path.join(save_path, "images", file))
label.save(os.path.join(save_path, "labels", label_file))
```
这段代码会先创建保存图像和标签的文件夹,然后遍历train_liver_tumor2文件夹中的图像,将其转换为RGB三通道的图片,并将肝脏部分染成红色、肿瘤部分染成蓝色,最后保存到对应的文件夹中。
阅读全文