Matlab Fuzzy c означает, что всегда дает один и тот же индекс владения большинством - PullRequest
0 голосов
/ 01 октября 2018

когда я запускаю fcm для цветного mri, чтобы разделить его на кластеры, он всегда дает примерно 0,95 владения одним и тем же индексом в каждом столбце

%img is a pre read image file I use jpg and k is number of clusters
function findTumor(img,k)
    file=double(img);
    output = img;
    [nrow ncol noneed]=size(file);
    file=reshape(file,nrow*ncol,3);
    [c,idx]=fcm(file,k);
    % taking the max ownerhip would make this the same as normal k means
    %[c,idx] = max(idx,[],1);
    %file=reshape(idx,nrow,ncol);
    idx
    for p = 1:k
       for i = 1:nrow
          for j= 1:ncol

             if idx(p,(nrow*ncol)) < .7
                output(i,j,:)= 0;
             end
          end
      end

    figure, imshow(uint8(round(output)));


    output=img;
  end

end

это изображение является примером моего idx, показывающим, какИндекс 3 всегда принимает как .99 владения Sample FCM idx Output

...