发现kmeans聚类的边界

16 Ansichten(30天)的
蜂蜜Achten
蜂蜜Achten 我18丢。2018
你好,
为一个项目我使用kmeans集群找到颜色差异在一个图像。我用五种不同灰度的颜色分类图像中的颜色。但是我需要找到每个灰度颜色的边界。所以rgb值分为灰度1,rgb值分为灰度2,等。有什么公式或脚本找到这些界限吗?
提前谢谢你。
蜂蜜Achten
我用下面的代码:
rgbImage = imread (“ISIC_0000041.jpg”);
掩码= imread (“ISIC_0000041_segmentation.png”);
他= combineRgbWithMask (rgbImage,面具);将面具和rgbImage %公式
lab_he = rgb2lab(他);
ab = lab_he (:,: 2:3);
nrows =大小(ab, 1);
ncols =大小(ab, 2);
ab =重塑(ab nrows * ncols 2);
nColors = 5;
%重复集群3次,以避免局部最小值
[cluster_idx, cluster_center] = kmeans (ab、nColors“距离”,“sqEuclidean”,“复制”3);
pixel_labels =重塑(cluster_idx、nrows ncols);
imshow (pixel_labels[])、标题(集群的图像标记指数”);
1 Kommentar
1月
1月 我18丢。2018
请不要发布一个问题两次。看到 //www.tatmou.com/matlabcentral/answers/436298-finding-boundaries-kmeans-clustering 。这混淆了读者和浪费时间,如果某人的帖子一个答案,这已经得到了。我建议删除其中一个线程。

Melden您西奇,嗯祖茂堂kommentieren。

Antworten (1)

骑自行车的人
骑自行车的人 我18丢。2018
使用质心坐标作为输入 泰森多边形法 命令。
xy1 = [randn (50, 1) randn (50, 1)];
xy2 = [randn (50, 1) + 5 randn (50, 1)];
xy3 = [randn (50, 1) randn (50, 1) + 5);
[idx c] = kmeans ([xy1;xy2;xy3), 3)
持有
情节(xy1 (: 1) xy1 (:, 2),“罗”)
情节(xy2 (: 1) xy2 (:, 2),“去”)
情节(xy3 (: 1) xy3 (:, 2),“波”)
泰森多边形法(c (: 1), c (:, 2))
上面的代码只会画出界限,但你可以得到泰森多边形法命令的输出,它会识别线段的端点。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的