当前位置:网站首页 > MATLAB编程 > 正文

gjk算法(gjk算法 MATLAB)



关于K聚类,我曾经在一篇博客中提到过,这里简单的做个回顾。

KMeans的步骤以及其他的聚类算法

K-均值是因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算

其他聚类算法:二分K-均值

讲解一下步骤,其实就是说明一下伪代码

 
  

OpenCV中使用cv2.kmeans()对数据进行分类

1. data:应该是np.float32类型的数据,每个特征应该放在一列。

2. K:聚类的最终数目

3. criteria:终止迭代的条件。当条件满足,算法的迭代终止。它应该是一个含有3个成员的元组,它们是(type,max_iter, epsilon):

type终止的类型:有如下三种选择

- cv2.TERM_CRITERIA_EPS 只有精确度epslion满足时停止迭代

- cv2.TERM_CRITERIA_MAX_ITER 当迭代次数超过阈值时停止迭代

– cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER 上面的任何一个条件满足时停止迭代

max_iter:最大迭代次数

epsilon:精确度阈值

4. attempts:使用不同的起始标记来执行算法的次数。算法会返回紧密度最好的标记。紧密度也会作为输出被返回

5. flags:用来设置如何选择起始中心。通常我们有两个选择:cv2.KMEANS_PP_CENTERS和 cv2.KMEANS_RANDOM_CENTERS。

输出参数:

1. compactness:紧密度返回每个点到相应中心的距离的平方和

2. labels:标志数组,每个成员被标记为0,1等

3. centers:有聚类的中心组成的数组

 
  

在这里插入图片描述

我们使用KMeans函数。先设置好终止条件。10次迭代或者精确度epsilon=1.0

 
  

在这里插入图片描述

在这里插入图片描述

 
  

在这里插入图片描述

分别取K=2、4、8

 
  

在这里插入图片描述

到此这篇gjk算法(gjk算法 MATLAB)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • matlab中输入参数太多(matlab输入参数数目不足怎么办)2025-07-23 13:18:08
  • matlab中的函数大全(matlab函数的函数)2025-07-23 13:18:08
  • matlab函数输出多个变量(matlab怎么输出多个变量)2025-07-23 13:18:08
  • matlab函数速查手册(matlab函数代码查询)2025-07-23 13:18:08
  • matlab函数和脚本的区别(matlab脚本文件和函数文件怎么联系)2025-07-23 13:18:08
  • matlab脚本文件和函数文件怎么联系(matlab的脚本文件)2025-07-23 13:18:08
  • matlab函数的写法(matlab 函数编写)2025-07-23 13:18:08
  • matlab输出多个数值(matlab输出多个图像)2025-07-23 13:18:08
  • matlab函数速查手册最新版(matlab函数教程)2025-07-23 13:18:08
  • matlab 输入参数过多(matlab输入参数过多报错)2025-07-23 13:18:08
  • 全屏图片