You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将脑部分割后的CT切片精准划分为左右半区?

如何精准划分存在轻微倾斜的脑部CT分割图像的左右半区?

各位大佬好,我目前在处理脑部CT的分割图像,核心需求是把分割后的脑部精准划分为左右半区,进而计算每半区的脑部区域和出血区域面积。我手头有7张样本分割图像(不是连续切片,是覆盖了各类切片类型的样本)。

之前我采用的方法是:先找到图像中脑部区域的左右起始列索引,取二者的中点作为分割线,但因为脑部可能存在轻微的左右倾斜,这种简单的垂直中线划分方法没法得到精准的左右半区结果。

以下是我现有的Matlab实现代码:

img_dir = pwd; 
fileList = dir(img_dir); 
fileList = fileList(~ismember({fileList.name},{'.','..'})); 
num_of_slices = length(fileList); 

for idx = 1: num_of_slices 
    fileName = fileList(idx).name; 
    img_slice_path = fullfile(img_dir,fileName); 
    imgs{idx} = imread(img_slice_path); 
    figure(1), imshow(imgs{idx},[]); 
    pause(0.5); 
end 

%% 
% seperate left and right based on midpoint of left_idx and right_idx 
[nrow, ncol] = size(imgs{1}); 
[leftBrain_imgs,rightBrain_imgs] = deal(cell(1,length(imgs))); 

for val = 1: length(imgs) 
    tempImg = imgs{val}; 
    columnsWithAllZeros = all(tempImg == 0); 
    left_idx = find(~columnsWithAllZeros,1,'first'); 
    right_idx = find(~columnsWithAllZeros,1,'last'); 
    cent_idx = floor(mean([left_idx,right_idx])); 
    
    rightImg_idxs = 1:cent_idx; % right side is shown left 
    leftImg_idxs = cent_idx+1:ncol; % left side is shown right 
    
    [leftBrain_img,rightBrain_img] = deal(zeros(nrow, ncol)); 
    rightBrain_img(:,rightImg_idxs) = tempImg(:,rightImg_idxs); 
    leftBrain_img(:,leftImg_idxs) = tempImg(:,leftImg_idxs); 
    
    leftBrain_imgs{val} = leftBrain_img; 
    rightBrain_imgs{val} = rightBrain_img; 
    
    figure(2), subplot(121), imshow(rightBrain_imgs{val},[]), title('right brain'); 
    subplot(122), imshow(leftBrain_imgs{val},[]), title('left brain'); 
    pause(0.5) 
end 

想请教下,针对脑部存在轻微倾斜的情况,有什么优化方法可以实现精准的左右半区划分?

内容的提问来源于stack exchange,提问作者Gopi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:41:14