0
这是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均值算法,我需要传递图像阈值处理process.I做到了像下面。
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');
但现在问题是,只有一个白色的图像是因为结果。我该如何解决这个问题。
OP的代码在问题中可能偶然选择了一个黑色像素作为阈值 –
@NeilSlater准确无误。我应该补充一点,谢谢。 :) – beaker
感谢您的回复,但仍然收到与以前相同的结果。 – temp