我的LiTS2017数据集的路径为E:\2D-LiTS2017liver_tumor。保存路径为E:\2D-LiTS2017color,帮我创建保存图像与标签的文件夹,并且将转换好的数据保存到对应的文件夹。 我的LiTS2017数据集为2D的数据集。数据集里面有命名为train_liver_tumor2的文件夹和命名为liver_tumor2_label的文件夹。train_liver_tumor2文件夹里面有图像,图像的拓展名为.png。liver_tumor2_label文件夹里面有标签,标签拓展名为.png。 请将我的train_liver_tumor2文件夹里面的图像变成RGB三通道的图片,再根据Hu(CT)值,采用windowing方法进行图像增强,并对肿瘤部分进行二值化。 再根据liver_tumor2_label文件夹里面的标签(肝脏值为1,肿瘤为2),将增强后的图像的肝脏部分染成红色,肿瘤部分染成蓝色。
时间: 2024-02-22 18:57:10 浏览: 41
将训练集、验证集、测试集生成label标签,同时将数据集路径导入txt文件中
好的,我会根据您的要求进行操作。首先,我会帮您创建保存图像与标签的文件夹,并将转换好的数据保存到对应的文件夹。以下是Python代码示例:
```python
import os
import cv2
import numpy as np
# 创建保存图像与标签的文件夹
save_path = 'E:/2D-LiTS2017color'
if not os.path.exists(save_path):
os.mkdir(save_path)
if not os.path.exists(os.path.join(save_path, 'images')):
os.mkdir(os.path.join(save_path, 'images'))
if not os.path.exists(os.path.join(save_path, 'labels')):
os.mkdir(os.path.join(save_path, 'labels'))
# 转换图像并进行增强和二值化
img_path = 'E:/2D-LiTS2017liver_tumor/train_liver_tumor2'
label_path = 'E:/2D-LiTS2017liver_tumor/liver_tumor2_label'
for file in os.listdir(img_path):
# 读取原图
img = cv2.imread(os.path.join(img_path, file), cv2.IMREAD_GRAYSCALE)
# 将灰度图变成3通道RGB图像
img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)
# 进行windowing操作
img = np.clip((img - (-200)) / (550 - (-200)), 0, 1)
img = (img * 255).astype(np.uint8)
# 二值化肿瘤部分
tumor_mask = cv2.imread(os.path.join(label_path, file), cv2.IMREAD_GRAYSCALE)
tumor_mask = np.where(tumor_mask == 2, 255, 0).astype(np.uint8)
# 将肝脏和肿瘤部分分别染色
liver_mask = cv2.imread(os.path.join(label_path, file), cv2.IMREAD_GRAYSCALE)
liver_mask = np.where(liver_mask == 1, 255, 0).astype(np.uint8)
liver_mask = cv2.cvtColor(liver_mask, cv2.COLOR_GRAY2RGB)
liver_mask[:, :, 0] = 0
liver_mask[:, :, 2] = 0
tumor_mask = cv2.cvtColor(tumor_mask, cv2.COLOR_GRAY2RGB)
tumor_mask[:, :, 0] = 0
tumor_mask[:, :, 1] = 0
tumor_mask[:, :, 2] = 255
# 将肝脏和肿瘤部分合成
label = cv2.add(liver_mask, tumor_mask)
# 将增强后的图像的肝脏部分染成红色,肿瘤部分染成蓝色
img = cv2.bitwise_and(img, label)
# 保存图像和标签
cv2.imwrite(os.path.join(save_path, 'images', file), img)
cv2.imwrite(os.path.join(save_path, 'labels', file), label)
```
经过上述操作,您会在指定路径下得到两个文件夹:images和labels,分别保存着增强后的图像和对应的标签。其中,肝脏部分染成了红色,肿瘤部分染成了蓝色。
阅读全文