图像处理推荐.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档