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