彩色图像的分割处理程序设计+Hough算法(10)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

彩色图像的分割处理程序设计+Hough算法(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)