- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像处理推荐
(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 = LocalAlloc(LHND, lWidth * lHeight); // 锁定内存 * lpNewDIBBits = (char * )LocalLock(hNewDIBBits); // 初始化新分配的内存, 设定初始值为255 lpDst = (char *)lpNewDIBBits; memset(lpDst, (BYTE)255, lWidth * lHeight); bModified=TRUE; while(bModified) { bModified = FALSE; // 初始化新分配的内存, 设定初始值为255 lpDst = (char *)lpNewDIBBits; memset(lpDst, (BYTE)255, lWidth * lHeight); for(j = 2; j lHeight-2; j++) { for(i = 2; i lWidth-2; i++) { * bCondition1 = FALSE; bCondition2 = FALSE; bCondition3 = FALSE; bCondition4 = FALSE; // 指向源图像倒数第j行, 第i个像素的指针 lpSrc = (char *)pBits + lWidth * j + i; // 指向目标图像倒数第j行, 第i
文档评论(0)