Загрузите 3-D данные МРТ, удалите все одиночные размеры и преобразуйте данные в изображение интенсивности оттенков серого.
load mri;
D = squeeze(D);
A = ind2gray(D,map);
Вычислите суперпиксели 3-D. Формируют выходное изображение, где каждому пикселю присваивается средний цвет соответствующей области суперпикселя.
[L,N] = superpixels3(A,34);
Поочередно покажите все плоскости xy с границами суперпикселей.
imSize = size(A);
Создайте стек изображений RGB для отображения границ в цвете.
imPlusBoundaries = zeros(imSize(1),imSize(2),3,imSize(3),'uint8'); for plane = 1:imSize(3) BW = boundarymask(L(:, :, plane)); % Create an RGB representation of this plane with boundary shown % in cyan. imPlusBoundaries(:, :, :, plane) = imoverlay(A(:, :, plane), BW, 'cyan'); end implay(imPlusBoundaries,5)
![]()
Установите цвет каждого пикселя в выходном изображении на среднюю интенсивность области суперпикселя. Показать среднее изображение рядом с оригиналом. При запуске этого кода можно использовать implay для просмотра каждого среза данных МРТ.
pixelIdxList = label2idx(L); meanA = zeros(size(A),'like',D); for superpixel = 1:N memberPixelIdx = pixelIdxList{superpixel}; meanA(memberPixelIdx) = mean(A(memberPixelIdx)); end implay([A meanA],5);
![]()