win10+Python3.7.3+OpenCV3.4.1入门学习(二十二章 K均值聚类)———— 22.2 K均值聚类模块

本文详细介绍了如何使用OpenCV的cv2.kmeans()函数进行K均值聚类,包括函数参数详解及返回值解释,适用于图像处理和数据分析等场景。

Python版本是Python3.7.3,OpenCV版本OpenCV3.4.1,开发环境为PyCharm

22.2 K均值聚类模块

OpenCV提供了函数cv2.kmeans()来实现K均值聚类。该函数的语法格式为:

retval, bestLabels, centers=cv2.kmeans(data, K, bestLabels, criteria, attempts, flags)

式中各个参数的含义为:
● data:输入的待处理数据集合,应该是np.float32类型,每个特征放在单独的一列中。
● K:要分出的簇的个数,即分类的数目,最常见的是K=2,表示二分类。
● bestLabels:表示计算之后各个数据点的最终分类标签(索引)。实际调用时,参数bestLabels的值设置为None。
● criteria:算法迭代的终止条件。当达到最大循环数目或者指定的精度阈值时,算法停止继续分类迭代计算。该参数由3个子参数构成,分别为type、max_iter和eps。
type表示终止的类型,可以是三种情况,分别为:
● cv2.TERM_CRITERIA_EPS:精度满足eps时,停止迭代。
● cv2.TERM_CRITERIA_MAX_ITER:迭代次数超过阈值max_iter时,停止迭代。
● cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER:上述两个条件中的任意一个满足时,停止迭代。
● max_iter:最大迭代次数。
● eps:精确度的阈值。
● attempts:在具体实现时,为了获得最佳分类效果,可能需要使用不同的初始分类值进行多次尝试。指定attempts的值,可以让算法使用不同的初始值进行多次(attempts次)尝试。
● flags:表示选择初始中心点的方法,主要有以下3种。
● cv2.KMEANS_RANDOM_CENTERS:随机选取中心点。
● cv2.KMEANS_PP_CENTERS:基于中心化算法选取中心点。
● cv2.KMEANS_USE_INITIAL_LABELS:使用用户输入的数据作为第一次分类中心点;如果算法需要尝试多次(attempts 值大于1时),后续尝试都是使用随机值或者半随机值作为第一次分类中心点。
返回值的含义为:
● retval:距离值(也称密度值或紧密度),返回每个点到相应中心点距离的平方和。
● bestLabels:各个数据点的最终分类标签(索引)。
● centers:每个分类的中心点数据。

内容概要:本文围绕SecureCRT自动化脚本开发在毕业设计中的应用,系统介绍了如何利用SecureCRT的脚本功能(支持Python、VBScript等)提升计算机、网络工程等相关专业毕业设计的效率与质量。文从关键概念入手,阐明了SecureCRT脚本的核心对象(如crt、Screen、Session)及其在解决多设备调试、重复操作、跨场景验证等毕业设计常见痛点中的价值。通过三个典型应用场景——网络设备配置一致性验证、嵌入式系统稳定性测试、云平台CLI兼容性测试,展示了脚本的实际赋能效果,并以Python实现的交换机端口安全配置验证脚本为例,深入解析了会话管理、屏幕同步、输出解析、异常处理和结果导出等关键技术细节。最后展望了低代码化、AI辅助调试和云边协同等未来发展趋势。; 适合人群:计算机、网络工程、物联网、云计算等相关专业,具备一定编程基础(尤其是Python)的本科或研究生毕业生,以及需要进行设备自动化操作的科研人员; 使用场景及目标:①实现批量网络设备配置的自动验证与报告生成;②长时间自动化采集嵌入式系统串口数据;③批量执行云平台CLI命令并分析兼容性差异;目标是提升毕业设计的操作效率、增强实验可复现性与数据严谨性; 阅读建议:建议读者结合自身毕业设计课题,参考文中代码案例进行本地实践,重点关注异常处理机制与正则表达式的适配,并注意敏感信息(如密码)的加密管理,同时可探索将脚本与外部工具(如Excel、数据库)集成以增强结果分析能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值