exponenta event banner

Вычислить 3-D суперпиксели входного объемного изображения интенсивности

Загрузите 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);