为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

【doc】彩色图像矢量化

2017-12-10 5页 doc 17KB 27阅读

用户头像

is_153723

暂无简介

举报
【doc】彩色图像矢量化【doc】彩色图像矢量化 彩色图像矢量化 民营科技 彩色图像矢量化百家论坛 彭冬玲 (武汉科技大学中南分校信息工程学院.湖北武汉430223) 摘要:提出了一种基于区域生长算法的彩色图像区域分割方法,其思想是从某个种子像素出发向其邻域搜索,将邻域中具有一致特征的点归 入一个区域.并用相应的区域编号来标志.然后采用矢量LBG聚类算法对图像先在亮度上进行矢量量化. 关键词:区域分割;矢量化;彩色图像 1彩色图像矢量化描述 基本思路: 1)将彩色图像先灰度化,将灰度化后得到的亮度值聚类,用少量的灰度 颜色(5,1...
【doc】彩色图像矢量化
【doc】彩色图像矢量化 彩色图像矢量化 民营科技 彩色图像矢量化百家论坛 彭冬玲 (武汉科技大学中南分校信息工程学院.湖北武汉430223) 摘要:提出了一种基于区域生长算法的彩色图像区域分割方法,其思想是从某个种子像素出发向其邻域搜索,将邻域中具有一致特征的点归 入一个区域.并用相应的区域编号来标志.然后采用矢量LBG聚类算法对图像先在亮度上进行矢量量化. 关键词:区域分割;矢量化;彩色图像 1彩色图像矢量化描述 基本思路: 1)将彩色图像先灰度化,将灰度化后得到的亮度值聚类,用少量的灰度 颜色(5,10级)取代原图中256级灰度,以便产生初始分割区域.2)使用区域 生长算法将原始的区域划分出来,得到初始分割区域.3)进行区域合并,将大 量的小区域合并成一个大的区域,合并采用融合了颜色与空问位置信息的判 断式来完成合并.4)寻找区域的轮廓,将每个区域的轮廓以描点的方式依次 的将其记录下来,并作为区域矢量化描述的外轮廓点列.注意,这里得到的区 域中包涵的像素点的颜色不一定是相同的,这里取此区域内的像素点的颜色 平均值作为区域填充颜色值. 22区域生长算法 分割算法: 1)颜色量化.对彩色图像进行分割,必须先将彩色图像进行量化处理.在 此采用矢量LBG聚类算法对图像先在亮度上进行矢量量化.矢量LBG算法 如下: 算法1: Step1:将彩色图像先灰度化,将灰度化后得到的亮度值存人数组x中, 数组的大小 N=1width1Height; Step2:初始化M个聚类中心点,注意初始化时采用从数组x中取得M 个不同的亮度值; Step3:聚类时,采用动态聚类方法,限定最大聚类次数L,置D0=I,重置 所有的中心点; Step4:将每个点划分到这M个聚类中心中,并累积所有点到各自的中 心点的距离值,存人到D; Step5:重新汁算M个中心所包涵的点数,如果存在有的中心没有点,则 将最大的中心平分到这个空的中心,并计算中点位置数据: Step6:置D0=D,并计算fabs(D0-D)/D0>le_2表达式是否成立,如果成 立,则聚类完成,否则重复Step3. 2)区域标定.经过颜色划分后,具有相同量化亮度值的像素并不一定位 于同—个区域,原因在于还没有考虑空间位置的相性.我们将这些具有相 同量化亮度的像素点进行标定,并选取其中某点作为种子.其中满足以下条 件的像素点位于同一个区域中:经亮度量化后具有相同的亮度值空间四领域 连通. 3)区域生长.当选定好种子后,接下来进行区域生长,将满足条件的像素 点标定到同—个区域中,算法有两种,一种是四领域生长算法,另一种是扫描 线生长算法,如下: 算法2(四领域生长算法) Step1:将起始种子点P(0,0)压入栈Cur—Seed—List(当前活动种子点集 合); Step2:从栈CurSeed—List巾取出第一点Pl,计算点P1的四领域点, 将其中具有与P1相同的量化亮度值的像素点压入栈CurSeed—List中,反 之则作为新区域种子点压人栈NewSeed—List. Step3:若栈CurSee【l_List非空,则转入Step2,反之进入Step4; Step4:判断栈NewSeed—List是否非空,如果非空则从栈 New_ Seed—List取出第一点,将其存人栈CurSeed—List,并转入Step2,反之 区域生长完毕. 算法3(扫描线生长算法) Stepl:将起始种子点P(0,O)压入栈Cur—Seed—List(当前活动种子点集 合); Step2:判断栈CurSeed—List是否非空,如果非空则从栈 Cur_ Seed—List中取出第一点P.(tx,ty),否则终止循环; Step3:取点P的右相邻点(tx+I,ty),如果点P的亮度值与点P的亮 度值相同,则将点P作为点P并重复本步骤,如果不相同则将点存入栈 NewSeedList; Step4:将ix一1存人xr中,取点P.的左相邻点P(tx—l,ty),如果点P:的 亮度值与点P.的亮度值相同,则将点P作为点P.并重复本步骤,如果不相 同则将点P2存人栈New—Seed—List; Step5:将tx+l存人xl中,分别取ty=ty+l及ty=ty一1,从xl到xr依次扫 描这两行,如果遇到与点P.的亮度值相同的点则存入栈Cur_Seed,List,反 之存入栈New_Seed—List; Step6:判断栈CurSeedList是否非空,如果为空则判断栈 New— Seed—List是否为空,如果非空,则从栈New_Seed—List中取出第一点存 人栈Cur—Seed—List,并转入Step2. 4)区域合并.通过上述方法生长得到的区域中含有大量的零碎区域,这 些零碎区域所包含的像素点一般只有十多个左右,通过实验发现: 这些零碎区域一般都分布在较大的区域内部,被外部区域包围,需要将 这些零碎区域合并到包围它们的大区域中,主要通过以下的吞食算法来实 现: 算法4 Step1:搜索区域,如果该区域所含有的像素点数小于阀值K,则对 转入Step2; Step2:环绕区域一周并记录分布在其外轮廓上的所有点,按所属区域 号对这些点进行分类统计,如果分类后只有一个区域号P_ID,则转入Step 3,反之转入Step4; Step3:将该零碎区域添加到标识为P—ID的区域中; Step4:使用RGB色相空间的Euclid距离公式计算零碎区域颜色值与 外轮廓中所有颜色值的Euclid距离,找出最小Euclid距离的点,将零碎 区域添加到点所属的区域中. Euclid距离是衡量两种颜色接近程度的一般量度尺度,其公式为: DbF{(cl-Cn)2+(crc)(C广co)1'(1) 实验中阀值K取值为25时效果较佳. 3区域矢量化描述 当把区域从图像中分割出来后,为了用矢量的方式来描述这些区域,那 么需要标定出区域的轮廓,在此使用描蒙法顺时针沿边缘寻找一圈,即得到 了区域的轮廓点.算法如下: 算法5: Step1:顺时针定义当前点P的相邻八连通区域点的方向位置,并编号, 如上图a)图所示; Step2:将初始探测方向存入变量cur_Dir中,并判断是否回到起始位 置,如果是则终止循环. Step3:依据eur_Dir值,取得点P的八连通域对应点P的区域编号值, 如果与点P的区域编号值相同,则点P.做为下一次循环探测的起始点,并将 cur_Dir的值逆时针移动两个方向位置并重复Step2,反之进入Step4; Step4:将cur_Dir的顿时针移动到下—个方向位置E,重复Step2. 参考文献 ,吴军辉,徐立鸿.彩色图像分割方法综述lJI冲国图象图形, 【1]林开颜 2005,10(1):1-10. 【21夏良正散字图像处理南京:东南大学出版社,1999. f3J崔屹.数字图象处理技术与应用l^1J.北京:电子工业出版社,l996.
/
本文档为【【doc】彩色图像矢量化】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索