发现边界kmeans集群

5视图(30天)
蜂蜜Achten
蜂蜜Achten 2018年12月18日
编辑: 图像分析 2018年12月20日
你好,
为一个项目我使用kmeans集群找到彩色图像的差异。我用五种不同灰度的颜色来显示图像的色差。但是我需要知道每个灰度颜色的边界。因此被归类为灰度图像的rgb值1,也被归类为灰度2等。有什么方法可以找到这些边界?
谢谢你!
蜂蜜Achten
我用下面的代码:
rgbImage = imread (“ISIC_0000011.jpg”);
掩码= imread (“ISIC_0000011_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;
[cluster_idx, cluster_center] = kmeans (ab、nColors“距离”,“sqEuclidean”,“复制”3);
pixel_labels =重塑(cluster_idx、nrows ncols);
imshow (pixel_labels[])、标题(集群的图像标记指数”);

答案(1)

图像分析
图像分析 2018年12月18日
编辑:图像分析 2018年12月20日
如果你的范围是2 d可以使用边界()函数,但在三维,我不确定,也许德劳内?
也许你应该做的是首先使用kmeans来识别你的集群。然后使用标记集群在K最近的邻居分类程序。使用knnsearch ()。
如果你分类图像到一个二维分类图像,你可以 找到连接分类的边界地区使用bwboundaries ()。

社区寻宝

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

开始狩猎!