YOLOv8医学图像分割

评论: 0 浏览: 870 ***新更新时间: 2个月前

原文:YOLOv8医学图像分割 - 知乎 (zhihu.com)

一、肺部CT图像数据

YOLOv8医学图像分割

image

YOLOv8医学图像分割

mask

YOLOv8医学图像分割

数据集准备

数据集需要进行两个步骤的处理

步骤1:请按照以下结构组织您的数据集(图像和掩膜):理想情况下,训练、测试和验证(val)的比例为8:1:1。数据集文件夹的安排如下:

YOLOv8医学图像分割

步骤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 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

点击启动AI问答
Draggable Icon