我的LiTS2017数据集是二维的数据集。数据集里面有命名为train_liver_tumor2的文件夹和命名为liver_tumor2_label的文件夹。train_liver_tumor2文件夹里面有图像,图像的拓展名为.png。liver_tumor2_label文件夹里面有标签,标签拓展名为.png。 修改代码: def windowing(img, window_width, window_center): # params:需要增强的图片, 窗口宽度, 窗中心 通过窗口最小值来线性移动窗口增强 min_windows = float(window_center)-0.5*float(window_width) new_img = (img-min_windows)/float(window_width) new_img[new_img<0] = 0 # 二值化处理 抹白 new_img[new_img>1] = 1 # 抹黑 return (new_img * 255).astype('uint8') # 把数据整理成标准图像格式 img_ct = windowing(img_array, 500, 150) 我的二维LiTS2017数据集的路径为E:\2D-LiTS2017\肝脏加肿瘤。保存路径为E:\增强。帮我创建保存图像与标签的文件夹,并且将转换好的数据保存到对应的文件夹。
时间: 2024-02-23 15:03:25 浏览: 21
好的,可以使用下面的代码来实现你的需求:
```python
import os
import numpy as np
from PIL import Image
def windowing(img, window_width, window_center):
# params:需要增强的图片, 窗口宽度, 窗中心
# 通过窗口最小值来线性移动窗口增强
min_windows = float(window_center)-0.5*float(window_width)
new_img = (img-min_windows)/float(window_width)
new_img[new_img<0] = 0 # 二值化处理 抹白
new_img[new_img>1] = 1 # 抹黑
return (new_img * 255).astype('uint8')
# 设置路径
data_dir = 'E:/2D-LiTS2017/肝脏加肿瘤'
save_dir = 'E:/增强'
# 创建保存图像和标签的文件夹
os.makedirs(os.path.join(save_dir, 'images'), exist_ok=True)
os.makedirs(os.path.join(save_dir, 'labels'), exist_ok=True)
# 遍历数据集中的所有图像和标签
for filename in os.listdir(os.path.join(data_dir, 'train_liver_tumor2')):
if filename.endswith('.png'):
# 读取图像和标签
img_path = os.path.join(data_dir, 'train_liver_tumor2', filename)
label_path = os.path.join(data_dir, 'liver_tumor2_label', filename)
img = np.array(Image.open(img_path))
label = np.array(Image.open(label_path))
# 增强图像
img_enhanced = windowing(img, 500, 150)
# 保存增强后的图像和标签
img_enhanced = Image.fromarray(img_enhanced)
img_enhanced.save(os.path.join(save_dir, 'images', filename))
label = Image.fromarray(label)
label.save(os.path.join(save_dir, 'labels', filename))
```
这段代码会将原始图像和标签文件夹中的所有`.png`文件进行增强并保存到对应的文件夹中。请确保你的数据集路径和保存路径正确,并且所有的图像和标签文件都是`.png`格式。