このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
入力ボリューム強度イメージの 3 次元スーパーピクセルの計算
3 次元 MRI データを読み込み、大きさが 1 の次元を削除した後、データをグレースケール強度イメージに変換します。
load mri;
D = squeeze(D);
A = ind2gray(D,map);
3 次元スーパーピクセルを計算します。出力イメージを形成します。出力イメージの各ピクセルは、対応するスーパーピクセル領域の平均色に設定されます。
[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
で MRI データの各スライスを表示できます。
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);