欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《计算机图像处理》课程设计报告(共8页).doc

    • 资源ID:14461535       资源大小:414.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《计算机图像处理》课程设计报告(共8页).doc

    精选优质文档-倾情为你奉上计算机图像处理课程设计报告题目 灰值图像形态学 专业 计算机科学与技术 班级 学号 姓名 指导教师签名 华东理工大学信息学院计算机系2013年5月15日一. 课程设计题目灰值图像形态学二. 日期2013.4.3-2013.5.8三. 环境(操作系统,开发语言)操作系统是Windows开发语言是Visual C+ 语言四. 设计内容(设计要求)(1) 开发一个基于Visual C+.NET 2003(或更高版本)MFC的图像的形态学处理的程序,必须用CImage类作为图像处理的对象。(2) 程序必须具备的功能:a) 可选择文件名,读入并显示一张原始图像文件。b) 在显示的原始图像旁边显示至少二张不同的形态学处理后的图像。五. 说明(1) 说明使用的二种图像处理方法的名称,并对这二种图像处理方法的效果进行比较 说明:两种处理方法为:灰值形态学的腐蚀和灰值形态学的膨胀效果分析:l 灰值形态学腐蚀:就是把图像区域的内边界点变成背景,是区域缩小一圈。腐蚀可以消除目标图像所有边界点以及边界上的突出部分;分离两个目标之间的细小连通;腐蚀对于从一幅图像中去除一些小而无意义的目标是很有用的。算法中关键点是:g(j,k) = min f(j,k), f(j,k+1), f(j-1,k+1), f(j+1,k+1)l 灰值形态学膨胀 :就是将区域的外边界变成对象点,使区域扩大一圈。膨胀运算把图像周围的点合并进图像;连通两个距离比较小的图像;在连接图像中的断续点和填补图像中的空洞是非常有用的。算法关键点是:g(j,k) = max f(j,k), f(j,k+1), f(j-1,k+1), f(j+1,k+1) (2) 处理前后的截图处理效果一:处理效果二:(3) 程序功能实现的关键函数及关键源代码关键函数和关键源代码如下: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;intnWidth,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) RGBQUADColorTabs256;BYTEcOldPixel,cNewPixel;inti,y,x,nOldWidth,nOldHeight,nColorTableEntries;intRGBToGrey256;if(pOldImage->GetBPP()=8) nOldWidth=pOldImage->GetWidth();nOldHeight=pOldImage->GetHeight();/建立新图像if (!pNewImage->IsNull() pNewImage->Destroy(); /如果图像pNewImage非空,则清除原有图像(原位图) pNewImage->Create(nOldWidth,nOldHeight,8,0);/建立新图像/设置新图像的灰阶调色板for(i=0;i<256;i+)ColorTabsi.rgbBlue=ColorTabsi.rgbGreen=ColorTabsi.rgbRed=i;pNewImage->SetColorTable(0,256,ColorTabs);/设置新图像调色板/计算原图像调色板的RGB色彩数据与灰色数据关系nColorTableEntries=pOldImage->GetMaxColorTableEntries();pOldImage->GetColorTable(0,nColorTableEntries,ColorTabs);/取原索引图像调色板for(i=0;i<nColorTableEntries;i+)/将原索引图像的调色板每项的RGB三种颜色计算成灰色数据RGBToGreyi=(int)(0.11*ColorTabsi.rgbBlue+0.59*ColorTabsi.rgbGreen+0.30*ColorTabsi.rgbRed);/修改原图像所有像素,将原索引图像每个对应RGB的数据修改为对应灰阶图像的数据for(y=0;y<nOldHeight;y+)/逐行进行处理 for(x=0;x<nOldWidth;x+)/逐列进行处理 cOldPixel=(BYTE)GetPixelValue(pOldImage,x,y);/将原索引图像的像素按映射关系表变成灰阶图像中的像素cNewPixel=RGBToGreycOldPixel;SetPixelValueInIndexImage(pNewImage,x,y,cNewPixel);/写新的灰阶图像中的像素值处理方法一:灰值形态学的腐蚀处理void GreyErosion(CImage *pNewImage,CImage *pOldImage) inty,x,i,j,nWidth,nHeight;BYTEcMin,cPixelValue;CopyImage(pNewImage,pOldImage);/CImage类对象之间的复制nWidth=pOldImage->GetWidth(); nHeight=pOldImage->GetHeight(); for(y=1;y<nHeight-1;y+)/逐行进行处理for (x=1;x<nWidth-1;x+)/逐列进行处理 cMin=255;for (i=-1;i<2;i+) for (j=-1;j<2;j+) cPixelValue=(BYTE)GetPixelValue(pOldImage,x+j,y+i);if (cPixelValue<cMin) cMin=cPixelValue;/寻找邻域极小(黑)值SetPixelValueInIndexImage(pNewImage,x,y,cMin);/灰值形态学膨胀处理为邻域极小(黑)值void CImageView:OnGreyErosion() CClientDC dc(this);/屏幕画布CImageImage;int nStartX,nStartY,nCanvasDrawWidth;if(!WorkCanvas.IsNull()/如果工作画布WorkCanvas非空 SetFlagsToFalse();/清除所有标志/清除窗口CRectrectWindowSize;GetClientRect(&rectWindowSize); /取窗口矩形坐标ClearWindow(&dc,rectWindowSize);/清窗口/显示原始工作画布WorkCanvas图像nStartX=0;nStartY=0;nCanvasDrawWidth=DrawCanvas(&WorkCanvas,&dc,nStartX,nStartY);/将工作画布WorkCanvas图像转化成灰值图像并放在Image中IndexToGreyImage(&Image,&WorkCanvas);/对Image图像进行灰值形态学的腐蚀处理,处理结果放在SaveCanvas中GreyErosion(&SaveCanvas,&Image);/显示处理后的SaveCanvas图像nStartX+=nCanvasDrawWidth+10;DrawCanvas(&SaveCanvas,&dc,nStartX,nStartY);处理方法二:灰值形态的膨胀处理void GreyDilation(CImage *pNewImage,CImage *pOldImage) inty,x,i,j,nWidth,nHeight;BYTEcMax,cPixelValue;CopyImage(pNewImage,pOldImage);/CImage类对象之间的复制nWidth=pOldImage->GetWidth();nHeight=pOldImage->GetHeight();for(y=1;y<nHeight-1;y+)/逐行进行处理for (x=1;x<nWidth-1;x+)/逐列进行处理 cMax=0;for (i=-1;i<2;i+) for (j=-1;j<2;j+) cPixelValue=(BYTE)GetPixelValue(pOldImage,x+j,y+i);if (cPixelValue>cMax) cMax=cPixelValue;/寻找邻域极大(白)值SetPixelValueInIndexImage(pNewImage,x,y,cMax);/灰值形态学膨胀处理为邻域极大(白)值void CImageView:OnGreyDilation()CClientDC dc(this);CImageImage;int nStartX,nStartY,nCanvasDrawWidth;if(!WorkCanvas.IsNull()/如果工作画布WorkCanvas非空 /显示原始工作画布WorkCanvas图像nStartX=0;nStartY=0;nCanvasDrawWidth=DrawCanvas(&WorkCanvas,&dc,nStartX,nStartY);/将工作画布WorkCanvas图像转化成灰值图像并放在Image中IndexToGreyImage(&Image,&WorkCanvas);/对Image图像进行灰值形态学膨胀处理,处理结果放在SaveCanvas中GreyDilation(&SaveCanvas,&Image);/显示SaveCanvas中处理后的图像nStartX+=2*(nCanvasDrawWidth+10);DrawCanvas(&SaveCanvas,&dc,nStartX,nStartY);专心-专注-专业

    注意事项

    本文(《计算机图像处理》课程设计报告(共8页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开