【发布时间】:2016-11-17 19:39:33
【问题描述】:
这是 K 均值算法的示例代码。
k = 5;
[Centroid,new_cluster]=kmeans_algorithm(inv_trans_img,k);
for i_loop = 1:k
cluster = zeros(size(inv_trans_img));
pos = find(new_cluster==i_loop);
cluster(pos) = new_cluster(pos);
figure; imshow(cluster,[]);title('K-means');
end
我需要从这个 K 均值算法中获取最终图像,并且我需要将该图像传递给阈值处理过程。我按照下面的方式进行操作。
tumour_image=cluster;
n = 512;
binarized_img = zeros(n,n);
sort_val = sort(tumour_image(:));
mid_val = ceil(length(sort_val)/2);
threshold = tumour_image(mid_val);
binarized_img(find(tumour_image>=threshold)) = 1;
binarized_img(find(tumour_image<threshold)) = 0;
imshow(binarized_img);title('binarized image');
但现在的问题是,结果只有一个白色图像。我该如何解决这个问题。
【问题讨论】:
标签: algorithm matlab image-processing k-means