原文:YOLOv8医学图像分割 - 知乎 (zhihu.com)
一、肺部CT图像数据
image
mask
数据集准备
数据集需要进行两个步骤的处理:
步骤1:请按照以下结构组织您的数据集(图像和掩膜):理想情况下,训练、测试和验证(val)的比例为8:1:1。数据集文件夹的安排如下:
步骤2:将 .png(或任何类型)掩膜(标签)转换为labels标签文件夹中的 .txt 文件。以下是将标签(.png、.jpg)转换为 .txt 文件的Python代码。
import os, json, numpy as np from tqdm import tqdm from imantics import Mask, Image, Category, Dataset, Polygons import cv2 import matplotlib.pyplot as plt import glob for x in ['train', 'valid', 'test']: if not os.path.exists('new_data/' + x + '/labels'): os.makedirs('new_data/' + x + '/labels') lst_img=glob.glob('new_data/' + x+ '/masks/'+ "*.jpg") # print(lst_img) for img in tqdm(lst_img): # print(img) array = cv2.imread(img, cv2.IMREAD_GRAYSCALE) h, w = array.shape txt_path = img.replace('masks', 'labels').replace('.jpg', '.txt') # print(txt_path) # Construct some test data poly = Mask(array).polygons() segmentation = poly.segmentation seg = sorted(segmentation, key=len, reverse=True) n = 0 for i in seg: # print(len(seg)) x = i[0::2] y = i[1::2] classid = "0" seg_out
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。