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附近小范围波动,这对于区分个体并没有什么帮助作用,我们便可以遗弃‘体重’这一属性。

OpenCV常用函数分析的更多相关文章

  1. OpenCV——常用函数查询

    1.cvLoadImage:将图像文件加载至内存: 2.cvNamedWindow:在屏幕上创建一个窗口: 3.cvShowImage:在一个已创建好的窗口中显示图像: 4.cvWaitKey:使程序 ...

  2. Opencv常用函数

    一.图像读写与简单处理 1. Mat cv::imread(const String& filename, int flags=IMREAD_COLOR). imread函数加载filenam ...

  3. OPENCV 常用函数

    1.cvCloneImage: IplImage* cvCloneImage( const IplImage* image ); 在使用函数之前,不用特地开辟内存,即该函数会自己开一段内存,然后复制好 ...

  4. opencv 常用函数介绍

    ××××××××××××××××××××××××××××××××××××××× CvScalar imgmean,imgstd; double imgmax,imgmin; cvAvgSdv(img, ...

  5. opencv常用函数备忘

    //显示图片 IplImage * src = cvLoadImage("xx.JPG"); cvNamedWindow(); cvShowImage("show_ima ...

  6. Opencv常用函数讲解

    1.approxPolyDP(Mat(ps), poly, 5, true);//根据点集,拟合出多边形 2.fillConvexPoly(mask, Mat(ps), Scalar(255));根据 ...

  7. OpenCV图像处理中常用函数汇总(1)

    //俗话说:好记性不如烂笔头 //用到opencv 中的函数时往往会一时记不起这个函数的具体参数怎么设置,故在此将常用函数做一汇总: Mat srcImage = imread("C:/Us ...

  8. Opencv 3.3.0 常用函数

    如何调图像的亮度和对比度? //如何增加图片的对比度或亮度? void contrastOrBrightAdjust(InputArray &src,OutputArray &dst, ...

  9. 常用string函数分析

    string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ...

随机推荐

  1. Notepad++中调试用心lua程序

    一.配置: 1.打开Notepad++: 2. 按下F5,或者打开Run->Run… 3. 弹出Run的窗口 3. 这一步是最关键的,将下列语句拷贝粘贴至输入框中:cmd /k Python & ...

  2. Laravel生成编译文件权限问题

    sudo -unobody ./artisan optimize # 避免`fpm`账户无权限修改缓存文件的问题.这里的`nobody`改成实际的`fpm`用户名.

  3. 三星首次更新Gear VR虚拟现实浏览器

    通过VR浏览网页不是问题,不过你需要一个专门的VR浏览器,而GearVR的虚拟现实应用名为"Samsung Internet for Gear VR".继去年12月份上线后,迎来了 ...

  4. 【noi openjudge题解】最低通行费

    这道题完全没有必要去计算限制时间,把时间当做一个参数来做就行了.知道了这一点之后就可以直接使用DP求解了 #include <algorithm> #include <iostrea ...

  5. Scheme入门

    目前选择的是DrRacket作为IDE,可以去网上搜索下载. 打开软件后,输入如下代码进行 helloworld #lang scheme ;The first program (begin (dis ...

  6. Qt出现常量有换行符的错误的解决方法

    可以使用 QString::fromLocal8Bit 来将本地字符编码转换为 Unicode 形式的 QString.

  7. Meta标签中的format-detection属性及含义让IPHONE的数字可以改变颜色

    format-detection翻译成中文的意思是“格式检测”,顾名思义,它是用来检测html里的一些格式的,那关于meta的format-detection属性主要是有以下几个设置: meta na ...

  8. ansible Strategies

    Strategies 控制task的执行方式, 在2.0中增加了"free" Strategies, 可以允许每个host尽快的执行完一个play. 默认是Strategies是l ...

  9. Visual Studio下使用jQuery的10个技巧

    广泛流行的jQuery是一个开源的,跨浏览器和兼容CSS 3的JavaScript库,你可以用它简化你的JavaScript编码任务和操作(添加,编辑和删除)HTML内容中的DOM元素,本文介绍10个 ...

  10. nginx配置限制同一个ip的访问频率

    1.在nginx.conf里的http{}里加上如下代码: limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $s ...