主要内容

绘制彩色特征和超像素的土地分类

此示例显示了如何根据使用K-Means群集和SuperPixels基于颜色特征执行土地类型分类。在执行分割和分类时,SuperPixels可以是非常有用的技术,尤其是使用大图像时。SuperPixels使您可以将图像分解为一组结构上有意义的区域,其中每个区域的边界考虑了原始图像中的考虑边缘信息。将图像分解为超顶像素区域后,可以使用分类算法来对每个区域进行分类,而不是必须通过完整的原始图像网格解决分类问题。使用超像素可以在解决图像分类问题时提供大的性能优势,同时还提供高质量的分段结果。

将图像读入工作区。为了更好的性能,此示例将图像的大小减少了一半。在视觉上,只有四种类型的土地,在蓝色大理石图像中只有基于颜色特征:森林区域,干/沙漠地区,冰盖区域和水。

a = imread('http://eoimages.gsfc.nasa.gov/images/imagerecords/74000/74192/world.200411.3x5400x2700.jpg');a = imresize(a,0.5);imshow(a)

将图像转换为l * a * b *色彩空间。

alab = rgb2lab(a);

计算原始图像的Superpixel过度解析并显示它。

[l,n] = superpixels(alab,20000,'isinputlab',真的);BW =边界扫描(L);imshow(imoverlay(a,bw,'青色')))

在每个区域中创建一组像素的单元格数组。

PIXELIDXLIST = LABEL2IDX(L);

确定每个超像素区域的中位颜色l * a * b *色彩空间。

[m,n] =尺寸(l);平均=零(m,n,3,'单身的');为了i = 1:n均值(pixelidxlist {i})=均值(alab(pixelidxlist {i}));易彩色(PIXELIDXLIST {i} + m * n)=均值(alab(pixelidxlist {i} + m * n));易变(PIXELIDXLIST {i} + 2 * m * n)=均值(alab(pixelidxlist {i} + 2 * m * n));结尾

使用使用的聚集每个Superpixel的颜色特征Imsegkmeans.功能。

numcolors = 4;[leout,cmap] = imsegkmeans(偶然,NumColors,'numattempts',2);CMAP = Lab2RGB(CMAP);imshow(Label2RGB(Lout))

使用集群中心作为专题地图的Colormap。在K-Meanse聚类期间发现的平均颜色可以直接用作Colormap,以提供森林,冰,旱地和水的土地分类任务的更自然的视觉解释。

imshow(双(leout),cmap)