彩色图像的分割处理程序设计+Hough算法(10)
时间:2016-12-16 21:10 来源:毕业论文 作者:毕业论文 点击:次
2.2.2 彩色图像的K-均值聚类法原理 彩色图像的K-均值聚类法与灰度图像的K-均值聚类法的步骤相似,如下所示。 确定K个初始聚类: (1) ..., ( ) (2)根据欧氏距离计算各个像素与聚类之间的距离,并归入距离最小的那个类。 (3)更新聚类: (2.5) 其中 为第 次迭代后聚类 中像素的个数, 、 、 分别为 、 、 分量值。 (4)若所有聚类中的 、 、 分量有 ,则终止迭代;否则回到(2)。 2.2.3 Hough变换原理 在图像空间 中的一点 ,经过点-正弦曲线对偶的Hough变换: (2.6) 在参数空间 中变为一条正弦曲线,其中 取 。可以证明,图像空间 中直线上的点经过Hough变换后,它们的正弦曲线在参数空间 中有一个公共交点。也就是说,参数空间中的一点 ,对应于图像空间 中的一条直线,而且它们是一一对应的。 因此为了检测出图像空间 中由点所构成的直线,可以将参数空间 量化成许多小格。根据图像空间 中的每一个点的坐标 ,在 内以小格的步长计算各个 值,所得值落在每个小格内,便使该小格的累加计数器加1.当图像空间中全部的点变换后,对小格进行检验,计数值最大的小格,其 值对应于图像空间中所求直线。 参数空间中的 、 与图像空间中直线的斜率 和截距 的关系为: (2.7) 3 彩色图像分割处理的程序设计 打开一张图片,用到了OpenFileDilog类,类中采用的控件属性如下: 表3.1 所修改的属性 Filter 要在对话框中显示的文件筛选器 Title 将显示在对话框标题栏中的字符 ShowHelp 启用“帮助”按钮 OpenFileDialog opnDlg = new OpenFileDialog(); opnDlg.Filter = “” OpnDlg.Title = “”; opnDlg.ShowHelp = true; 调用image类的FromFile静态方法根据输入名产生一个image对象,并把得到的对象赋给curBitmap类,即把图像复制到内存中去。 curFileName = opnDlg.FileName; curBitmap = (Bitmap)Image.FromFile(curFileName); 程序中的主要算法用到了Hough变换、阈值法、松弛迭代法以及空间聚类法。以下是各种算法的过程示意图和算法中所用到的类。 3.1 K-均值聚类 图3.1 K-均值聚类算法过程示意图 在主窗体内添加1个Button控件,其属性修改如下表: 表3.2 所修改的属性 控件 属性 所修改内容 Button1 Name button1 Text K-均值聚类 Location 37,299 创建1个名为segColor的Windows窗体,该窗体用于选择所要分割的层数。在该窗体内添加2个Button控件,1个Lable空间和1个NumericUpDown控件,其属性修如下表: 表3.3 所修改的属性 控件 属性 所修改的内容 segColor Text 彩色图像K-均值聚类分割 Size 285,181 (责任编辑:qin) |