图像分割 - 利用K-means聚类方法实现图像分割

本文介绍了如何使用OpenCV中的cv2.kmeans方法实现图像分割,通过聚类算法将图像划分为多个区域,例如将图像分为天空、海水、沙滩、树木等类别。并提供了测试代码示例,展示了不同k值对分割效果的影响。
摘要由CSDN通过智能技术生成

1、前言

传统的数字图像处理算法中,针对于图像分割部分,除了阈值处理、区域生长啊等等之类的,还有很经典的聚类算法

图像分割是指将图像划分为多个片段。这是因为对于不同的图像任务,我们往往不care整个图片,只对感兴趣的区域处理,这就是图像分割的意义。

聚类算法的思想很简单,就是将相似属性的像素点分配到一起

2、cv2.kmeans 方法

OpenCV 提供了cv2.kmeans( samples, nclusters(K), criteria, attempts, flags ) 函数用于颜色聚类。

    1.样本:应为np.float32数据类型,并且每个特征应放在单列中。

    2. nclusters(K):最后需要的簇数

    3. criteria:迭代终止准则。当满足该标准时,算法迭代停止。实际上,它应该是一个包含 3 个参数的元组。它们是 `( type, max_iter, epsilon )`:

    终止标准的类型。它有 3 个标志,如下所示:

cv.TERM_CRITERIA_EPS — 如果达到指定的精度epsilon ,则停止算法迭代    cv.TERM_CRITERIA_MAX_ITER — 在指定的迭代次数max_iter后停止算法。cv.TERM_CRITERIA_EPS + cv.TERM_CRITERIA

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵星人监护人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值