のコードを意味するので、私はこのコードを持っている:kはMATLAB
for i = 1:38
he = cores{i,1};
imshow(he), title('H&E image');
cform = makecform('srgb2lab');
lab_he = applycform(he,cform);
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
% repeat the clustering 3 times to avoid local minima
[cluster_idx, cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', ...
'Replicates',3);
pixel_labels = reshape(cluster_idx,nrows,ncols);
figure;
imshow(pixel_labels,[]), title('image labeled by cluster index');
segmented_images = cell(1,3);
rgb_label = repmat(pixel_labels,[1 1 3]);
for k = 1:nColors
color = he;
color(rgb_label ~= k) = 0;
segmented_images{k} = color;
end
figure
imshow(segmented_images{1}), title('objects in cluster 1');
figure
imshow(segmented_images{2}), title('objects in cluster 2');
figure
imshow(segmented_images{3}), title('objects in cluster 3');
end
Iは、茶色、青と緑の色の38枚の異なる画像を有します。私は3つの異なる変数でそれらを区別したい、そしてそれはこのコードがやっていることです。
唯一の問題は、どちらがどれであるかを知る必要があることです(たとえば、最初のセルは常に青、2番目は茶色、最後は緑色になります)が、通常はランダムな順序で取得されます。
アイデア?
少なくとも「終了」がありません。また、MATLABでは38 * 3の画像をプロットするのが遅くなります。 – Adriaan
'end'私は行方不明です私のコピー/貼り付けから間違いです...これらの数字をすべてプロットすることはテストのためであり、私の問題ではありません。私の問題は、私はいつも茶色の青緑色の数字を同じ順序で取得しているとは限らないことです。それは無作為で、私が避けたいものです。 –
[mcve]を読んでください。問題に関連する投稿コードのみ。投稿を編集して不要なコードを削除してから動作させてください。 – Adriaan