《计算机图像处理》课程设计报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机图像处理》课程设计报告

《计算机图像处理》 课程设计报告 华东理工大学信息学院计算机系 2013年5月15日 课程设计题目 灰值图像形态学 日期 2013.4.3-2013.5.8 环境(操作系统,开发语言) 操作系统是Windows 开发语言是Visual C++ 语言 设计内容(设计要求) (1) 开发一个基于Visual C++.NET 2003(或更高版本)MFC的图像的形态学处理的程序,必须用CImage类作为图像处理的对象。 (2) 程序必须具备的功能: a) 可选择文件名,读入并显示一张原始图像文件。 b) 在显示的原始图像旁边显示至少二张不同的形态学处理后的图像。 说明 说明使用的二种图像处理方法的名称,并对这二种图像处理方法的效果进行比较 说明: 两种处理方法为:灰值形态学的腐蚀和灰值形态学的膨胀 效果分析: 灰值形态学腐蚀:就是把图像区域的内边界点变成背景,是区域缩小一圈。腐蚀可以消除目标图像所有边界点以及边界上的突出部分;分离两个目标之间的细小连通;腐蚀对于从一幅图像中去除一些小而无意义的目标是很有用的。算法中关键点是: g(j,k) = min {f(j,k), f(j,k+1), f(j-1,k+1),…, f(j+1,k+1)} 灰值形态学膨胀 :就是将区域的外边界变成对象点,使区域扩大一圈。膨胀运算把图像周围的点合并进图像;连通两个距离比较小的图像;在连接图像中的断续点和填补图像中的空洞是非常有用的。算法关键点是: g(j,k) = max {f(j,k), f(j,k+1), f(j-1,k+1),…, f(j+1,k+1)} 处理前后的截图 处理效果一: 处理效果二: 程序功能实现的关键函数及关键源代码 关键函数和关键源代码如下: OnDraw( ):将工作画布WorkCanvas中的图像传送到屏幕画布CDC中 void CImageView::OnDraw(CDC* pDC) { CImageDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; int nWidth,nHeight; if(!WorkCanvas.IsNull()) { nWidth=WorkCanvas.GetWidth(); nHeight=WorkCanvas.GetHeight(); WorkCanvas.BitBlt(*pDC,0,0,nWidth,nHeight,0,0,SRCCOPY); //用WorkCanvus的Bitblt()函数将WorkCanvus中的图象数据传送到画布(例如CClientDC或pDC)上 } } CopyImage( ):CImage类对象之间的复制,工作画布复制到副本画布 void CopyImage(CImage *pNewImage,CImage *pOldImage) { CDC *pDC,*pNewDC; int nWidth,nHeight,nBitsPerPixel; nWidth=pOldImage-GetWidth(); nHeight=pOldImage-GetHeight(); nBitsPerPixel=pOldImage-GetBPP(); if(!pNewImage-IsNull())// 目标位图非空 pNewImage-Destroy();// 删除目标位图 pNewImage-Create(nWidth,nHeight,nBitsPerPixel,0);//建立CImage类对象新位图 CopyColorTables(pNewImage,pOldImage);//复制调色板 pDC=CDC::FromHandle(pOldImage-GetDC());// 建立源位图CDC pNewDC=CDC::FromHandle(pNewImage-GetDC());// 建立目标位图CDC pNewDC-BitBlt(0,0,nWidth,nHeight,pDC,0,0,SRCCOPY);//复制像素数据 pOldImage-ReleaseDC();// 释放CDC指针 pNewImage-ReleaseDC(); } IndexToGreyImage( ):索引图像变灰阶图像 void IndexToGreyImage(CImage *pNewImage,CImage *pOldImage) { RGBQUAD ColorTabs[256]; BYTE cOldPixel,cNewPixel; int i,y,x,nOldWidth,nOldHeight,nColo

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档