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