gpt4 book ai didi

image-processing - 为什么在图像处理中使用 k 均值聚类?

转载 作者:行者123 更新时间:2023-11-30 09:00:44 25 4
gpt4 key购买 nike

为什么要使用它,因为我们可以简单地通过像素强度值分割图像分量?就像如果我想提取女孩的皮肤和头发一样,我可以简单地根据像素强度值来执行此操作,而不是使用复杂的 k 均值算法。

最佳答案

分割并不简单。聚类比手动阈值更容易、更稳健。

让我们使用 Matlab 来看看:

yellow lily

感兴趣的区域是黄色花瓣。让我们将 RGB 图像分为三个不同的平面:

lily = imread('yellowlily.jpg')

redplane = lily(:,:,1);
greenplane = lily(:,:,2);
blueplane = lily(:,:;3);

imshow(greenplane); colormap(jet); imcontrast;

查看绿色平面:

greenplane of the image

那么黄色实际上比绿色更“绿”?呃哦。好吧,不管怎样,我们只要结合阈值就可以了。黄色在红色平面和绿色平面中很强,因此需要两个阈值才能找到它。绿色中的绿色较强,而背景中的黑色则具有较高的值(value)。那么黄色有两个阈值,绿色有一个阈值,但不是黑色或黄色,所以绿色有三个比较..?直到光线发生一点变化并完全破坏我们的手动阈值。

或者我们可以尝试聚类:

redIndices = redPlane(:);
greenIndices = greenPlane(:);
blueIndices = bluePlane(:);

Data = [redIndices, blueIndices, greenIndices];
clusterIdx = kmeans(Data,3);

ClusterImage = zeros(size(RedPlane));
ClusterImage(:) = clusterIdx;

enter image description here

快到了。我们得到了黄色的花瓣,绿色的花瓣失败了,黑色的需要一些形态上的爱。只有一个参数,簇的数量。也许高斯混合模型作为软 K 均值?

还要考虑的一点是重叠的颜色,例如黄色花瓣底部附近的绿色。你正在分割头发的女孩可能站在一些树皮上有同样棕色的树附近。您可以将图像中的距离添加为数据的一维,例如我之前提到的GMM。色彩空间和图像中的距离概念可以成为一种强大且稳健的分割工具,这是手动阈值永远无法做到的。

关于image-processing - 为什么在图像处理中使用 k 均值聚类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39934151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com