OpenCV常用函数分析

时间:2024-10-20 19:04:38

1. 聚类:将拥有最相似属性的数据归为一类.

K-means聚类:

python调用格式:compacness, labels, centers = cv2.kmeans(data, K, criteria, bestLabels=None, attempts, flags, centers=None)

data: 需要被聚类的输入数据。 K: 类别数目。 criteria: 算法终止标准, 比如最大循环次数,期望的准确率。 attempts: 算法使用不同的初始位置,执行的次数,算法返回最优结果。

flags: (1) KMEANS_RANDOM_CENTERS: 每次attempt中,选择随机初始中心。(2) KMEANS_PP_CENTERS: 利用Arthur and Vassilvitskii方法选择初始中心。 (3) KMEANS_USE_INITIAL_LABELS: 第一次尝试,使用用户提供的中心, 之后的尝试,使用随机或者半随机中心。

centers: 聚类中心的输出矩阵,每个聚类中心一行。

输出: compactness: 每个点到对应中心的平方距离和。 labels: 标签矩阵,每个元素被标识为‘0’,'1'......。centers: 类中心的矩阵。

实例:(1)灰度图像分割时,将图像的灰度值分成K类,得到我们想要的区域。(2)输入N个人的身高,体重,成绩,外貌分等X类特征数据,将这N个人分成K类,找到各自较为相似的类。

2. PCA主成分分析:找出并保留能最大程度上区分个体的前K个属性(也即从大到小排序后,前K个特征值对应的特征向量方向)

python调用格式:

实例:(1)丢弃特征向量较小的部分,重构数据,去除输入数据中的噪声。(2)数据维度太高,去除区分度很低的属性,降低数据维度,举个例子,输入的一组数据中,所有人的体重都在70Kg附近小范围波动,这对于区分个体并没有什么帮助作用,我们便可以遗弃‘体重’这一属性。