我的LiTS2017数据集是二维的数据集。数据集里面有命名为train_liver_tumor2的文件夹和命名为liver_tumor2_label的文件夹。train_liver_tumor2文件夹里面有图像,图像的拓展名为.png。liver_tumor2_label文件夹里面有标签,标签拓展名为.png。 请将我的train_liver_tumor2文件夹里面的图像变成RGB三通道的图片,再根据liver_tumor2_label文件夹里面的标签(肝脏值为1,肿瘤为2)值,将对应的RGB三通道图片的肝脏部分染成红色,肿瘤部分染成蓝色。 我的二维LiTS2017数据集的路径为E:\2D-LiTS2017liver_tumor。保存路径为E:\2D-LiTS2017color,帮我创建保存图像与标签的文件夹,并且将转换好的数据保存到对应的文件夹。
时间: 2024-02-22 20:57:36 浏览: 70
将训练集、验证集、测试集生成label标签,同时将数据集路径导入txt文件中
好的,以下是根据您的要求修改后的代码:
```python
from PIL import Image
import numpy as np
import os
# 原始数据集路径
data_path = "E:/2D-LiTS2017liver_tumor"
# 保存路径
save_path = "E:/2D-LiTS2017color"
if not os.path.exists(save_path):
os.makedirs(save_path)
if not os.path.exists(os.path.join(save_path, "image")):
os.makedirs(os.path.join(save_path, "image"))
if not os.path.exists(os.path.join(save_path, "label")):
os.makedirs(os.path.join(save_path, "label"))
# 将肝脏部分染成红色,肿瘤部分染成蓝色
def color_label(label):
red = [255, 0, 0]
blue = [0, 0, 255]
label_rgb = np.zeros((label.shape[0], label.shape[1], 3))
label_rgb[label == 1] = red
label_rgb[label == 2] = blue
return label_rgb.astype(np.uint8)
# 将图像转换为RGB三通道的图片,并将标签肝脏部分染成红色,肿瘤部分染成蓝色
def convert_image(image_path, label_path, save_path):
image = Image.open(image_path)
label = Image.open(label_path)
image_rgb = Image.new("RGB", image.size, (0, 0, 0))
image_rgb.paste(image, (0, 0))
label_rgb = color_label(np.array(label))
image_name = os.path.basename(image_path)
label_name = os.path.basename(label_path)
image_rgb.save(os.path.join(save_path, "image", image_name))
Image.fromarray(label_rgb).save(os.path.join(save_path, "label", label_name))
# 遍历数据集文件夹,将图像转换为RGB三通道的图片,并将标签肝脏部分染成红色,肿瘤部分染成蓝色
for i, image_name in enumerate(os.listdir(os.path.join(data_path, "train_liver_tumor2"))):
image_path = os.path.join(data_path, "train_liver_tumor2", image_name)
label_path = os.path.join(data_path, "liver_tumor2_label", image_name)
convert_image(image_path, label_path, save_path)
print("Processed %d images" % (i+1))
```
这段代码将遍历数据集文件夹,将图像转换为RGB三通道的图片,并将标签肝脏部分染成红色,肿瘤部分染成蓝色。处理后的图像和标签将保存在新创建的保存路径下的"image"和"label"文件夹中。
阅读全文