开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 9730|回复: 6
收起左侧

[技术专题] K均值用于图像分割

[复制链接]
结帖率:89% (79/89)
发表于 2022-9-16 13:50:38 | 显示全部楼层 |阅读模式   江苏省苏州市
本帖最后由 z13228604287 于 2022-9-16 15:33 编辑


3.bmp
聚类:将抽象对象的集合分成由多个相似的对象组成的多个子类的过程,常用聚类方法有:分裂法,层次法,基于密度的方法,基于网格的方法,基于模型的方法,K均值法。其中K均值法是一种基于距离的分裂法。

K均值算法是非常常用的一种聚类算法,用于将给定的样本集分成指定数目的聚类。具体算法如下:

·      为每个聚类确定一个初始的聚类中心,这样k个聚类存在k个聚类中心

·      将样本集中的每一个样本按照最小距离原则 分配到k个聚类中的某一个

·      使用每个聚类中所有样本的均值作为新的聚类中心

·      如果聚类中心有变化则重复2、3步直到聚类中心不再变化为止

·      最后得到的k个聚类中心就是聚类的结果

K均值算法是一种贪心算法,因而不一定能得到最优化结果,不过它是必定收敛的。

   调用格式: 〈双精度小数型〉 视觉_K均值 (多维矩阵类 数据,整数型 ?,多维矩阵类 标签,迭代标准类 迭代,整数型 尝试,整数型 标志,多维矩阵类 中心)
    英文名称:kmeans
    查找聚类中心并对聚类周围的输入样本进行分组。本命令为初级命令。
    参数<1>的名称为“数据”,类型为“多维矩阵类(Mat)”。用于聚类的数据。需要具 CV_32F与CV_32FC2数据类型。
    参数<2>的名称为“?”,类型为“整数型(int)”,初始值为“2”。要拆分集合的集群数。
    参数<3>的名称为“标签”,类型为“多维矩阵类(Mat)”。输入/输出整数数组,用于存储每个样本的集群索引。
    参数<4>的名称为“迭代”,类型为“迭代标准类(TermCriteria)”。算法终止标准,即最大迭代次数和/或所需精度。精度被指定为criteria.epsilon。一旦每个聚类中心在某个迭代中移动小于标准.epsilon,算法就会停止。
    参数<5>的名称为“尝试”,类型为“整数型(int)”,初始值为“10”。用于指定使用不同初始标签执行算法的次数的标志。该算法返回产生最佳紧凑性的标签。
    参数<6>的名称为“标志”,类型为“整数型(int)”,初始值为“0”。可以采用  #K方法_* 的常量。
    参数<7>的名称为“中心”,类型为“多维矩阵类(Mat)”。聚类中心的输出矩阵,每个聚类中心一行。

    操作系统需求: Windows

  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
多维矩阵类 
结果多维矩阵类 
图 = 视觉_图像解码 ( #图片1, #读图_彩色 )
结果 = 图像分割 (图, 2)
视觉_显示图像 (“小白鼠”, 结果)
视觉_等待按键 (0)
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
图像分割多维矩阵类 
参数名类 型参考可空数组备 注
输入图多维矩阵类
分类数量整数型
变量名类 型静态数组备 注
颜色标签颜色标签6
列数整数型 
行数整数型 
样本计数整数型 
样本数据多维矩阵类 
数据多维矩阵类 
集群计数整数型 
迭代标准迭代标准类 
标签多维矩阵类 
中心多维矩阵类 
返回图多维矩阵类 
i整数型 
位置整数型 
标志整数型 
j整数型 
随机随机数类 
颜色标签 [1].颜色 = { 0, 0, 255 }
颜色标签 [2].颜色 = { 0, 255, 0 }
颜色标签 [3].颜色 = { 255, 0, 0 }
颜色标签 [4].颜色 = { 0, 255, 255 }
颜色标签 [5].颜色 = { 255, 0, 255 }
颜色标签 [6].颜色 = { 255, 255, 0 }
列数 = 输入图.列数 ()
行数 = 输入图.行数 ()
样本计数 = 列数 × 行数
样本数据 = 输入图.重塑 (3, 样本计数)
样本数据.转换到 (数据, #Cv小数型, 1, 0)
集群计数 = 分类数量  ' //分类数量
' 随机.置状态 (-1)'重置随机数状态(保证每次运行KMeans结果一致)
迭代标准.初始化 ( #迭代标准_精度#迭代标准_元素, 10, 0.1)
视觉_K均值 (数据, 集群计数, 标签, 迭代标准, 10, #K方法_随机_中心, 中心)
返回图.初始化 (输入图.行数 (), 输入图.列数 (), 输入图.类型 (), 标量 (0))
变量循环首 (0, 行数 - 1, 1, i)
变量循环首 (0, 列数 - 1, 1, j)
位置 = i × 列数 + j
标志 = 标签.取元素 (位置, 0)
返回图.置元素V (i, j, 颜色标签 [标志 + 1].颜色)
变量循环尾 ()
变量循环尾 ()
返回 (返回图)


i支持库列表   支持库注释   
OpenCV(未知支持库)

QQ图片20220916134820.png



结帖率:0% (0/1)

签到天数: 2 天

发表于 2022-9-23 18:37:04 | 显示全部楼层   山东省菏泽市
大神分享辛苦了!
回复 支持 反对

使用道具 举报

结帖率:63% (15/24)
发表于 2022-9-18 22:23:19 高大上手机用户 | 显示全部楼层   四川省成都市
这人感觉就是个小丑!天天开贴   进群一问模块500

点评

有能力翻译 C++啊! 语法一致 中文换成英文即可 自己解决下环境 例子免费送! 懂的自然懂!不懂瞎吵吵!   江苏省苏州市  发表于 2022-9-19 13:45
可笑,小丑竟然是你自己,自己玩是不需要付费的 又想借助支持库,开发卖钱,又不愿意自己动手,哎!!!!   江苏省苏州市  发表于 2022-9-19 13:43
回复 支持 反对

使用道具 举报

签到天数: 22 天

发表于 2022-9-16 15:30:27 | 显示全部楼层   广东省广州市
一头雾水!!!!!!

点评

知道是图片分割就行,其他无需深入   江苏省苏州市  发表于 2022-9-16 15:34
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表