- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.5应用实例-细化.ppt
* 第八章 数学形态学及其应用 8.5 应用实例——细化 利用前面所介绍的形态学知识,下面给出一种实用的对二值区域进行形态学细化的一种算法。如前所述,一个图像的“骨架”, 是指图像中央的骨骼部分,是描述图像几何及拓扑性质的重要特征之一。求一幅图像骨架的过程就是对图像进行“细化”的过程。在文字识别、地质构造识别、工业零件形状识别或图像理解中, 先对被处理的图像进行细化有助于突出形状特点和减少冗余信息量。 根据8.4.2节中骨架和细化的定义以及式(8-30)、 式(8-32)和式(8-35)等可以看到,在细化一幅图像X时应满足两个条件: 第一, 在细化的过程中, X应该有规律地缩小; 第二,在X逐步缩小的过程中, 应当使X的连通性质保持不变。下面介绍一个具体的细化算法。 设已知目标点标记为1,背景点标记为0。边界点是指本身标记为1而其8连通邻域中至少有一个标记为0的点。算法对一幅图像的所有边界点即一个3×3区域都进行如下检验和操作: (1) 考虑以边界点为中心的8邻域,设p1为中心点,对其邻域的8个点逆时针绕中心点分别标记为p2,p3,…,p9,其中p2位于p1的上方。如果p1=1(即黑点)时,下面4个条件同时满足,则删除p1(p1=0): ① 2≤N(p1)≤6,其中N(p1)是p1的非零邻点的个数; ② S(p1) = 1,其中S(p1)是以p2,p3,p4,…,p9为序时这些点的值从0到1变化的次数; ③ p2p4p6=0或者S(p1)≠1; ④ p4p6p8 =0或者S(p1)≠1。 (2) 同第(1)步,仅将③中的条件改为p2p4p8=0,④中的条件改为p2p6p8=0。同样当对所有边界点都检验完毕后,将所有满足条件的点删除。 以上两步操作构成一次迭代。算法反复迭代,直至没有点再满足标记删除的条件,这时剩下的点就组成区域的骨架。图8-26给出了这一算法的应用示例。其中,图8-26(b)、(c)、(d)是p1不可删除的三种情况。在图8-26(b)中删除p1会分割区域,图8-26(c)中删除p1会分割缩短边缘,图8-26(d)中满足条件2≤N(p1)≤6但p1不可删除。 图8-26 细化算法示意图 (a)标记p1和邻点;(b) p1不可删除情况一;(c) p1不可删除情况二; (d) p1不可删除情况三; (e) 细化前图像;(f) 细化后的结果 下面是上述细化算法的VC++函数框架和主要算法。 //****************************************** //函数名称: BOOL ThiningDIB() //基本功能: 本函数对CDibObject对象中的图像进行细化运算 //参数说明: CDibObject *pDibObject 默认为NULL //返回值: BOOL 成功返回TRUE, 失败返回FALSE //****************************************** BOOL CMorphPro: : ThiningDIB(CDibObject *pDibObject) { //使用传入的CDibObject对象 //无CDibObject对象时, 返回FALSE //定义变量 unsigned char *pBuffer, *pBits; RGBQUAD *pPalette; int nWidthBytes, nNumColors; int lWidth, lHeight; //获得图像指针 //获得颜色数 //获得调色板指针 //获得位图数据指针 // 指向源图像的指针 // 指向缓存图像的指针 // 指向缓存DIB图像的指针 //循环变量 long i; long j; int n; int m; //四个条件 BOOL bCondition1; BOOL bCondition2; BOOL bCondition3; BOOL bCondition4; //计数器 unsigned char nCount; //像素值 unsigned char pixel; //5×5相邻区域像素值 unsigned char neighbour[5][5]; // 暂时分配内存, 以保存新图像 hNewDIBBits = L
您可能关注的文档
- 3构建公共资源数据库-北京师范大学.doc
- 3生物信息数据库.ppt
- 3软件安装部署.doc
- 3集装箱式数据中心.ppt
- 3需求分析-成都信息工程大学论文管理系统.doc
- 4.1.4网上数据管理.ppt
- 4.1协同规划阶段步骤二建立协同合作商业计划-高雄市工业会.ppt
- 4.1程序的装入和链接-Read.ppt
- 4.3EI使用指南.ppt
- 4.3关系数据库.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)