(完整版)数字图像处理C++MFC_第1页
(完整版)数字图像处理C++MFC_第2页
(完整版)数字图像处理C++MFC_第3页
(完整版)数字图像处理C++MFC_第4页
(完整版)数字图像处理C++MFC_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字图像处理学院:计算机科学与技术学院专业:信息与计算科学专业学号:1108060223姓名:姜圣涛2014年5月13日一、实验内容:主要是图像的几何变换的编程实现,具体包括图像的显示,图像平移,图像的镜像,图像的旋转,图像的锐化,以及简单的处理等,例如:灰度处理、减小灰度处理、逆反处理、霓虹处理等。具体实现的功能图为:显示显示原图像处理镜像变换I灰度处理减小灰度增加灰度逆反处理霓虹处理垂直镜像水平镜像图像的锐化r梯度增加法梯度增加法梯度增加法LoadBitmap(IDB_BITMAP3);CDC*pDC=GetDC();mypDC-CreateCompatibleDC(pDC);mypDC-

2、SelectObject(bitmap);3、加入位图将待处理的照片格式转化成bmp格式,具体转化过程可借助画图工具完成,插入后的结果为:z開6匚匚C|画国嘗钿錮立口S细嚼磴盍吞叨播扎工屈E讎回IiD咅二呦翌豹凹躍txc-l-MicrosoftVisualO+t?GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclr;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,i);intr=GetRValue(clr);intg=GetGValue(clr);intb=G

3、etBValue(clr);pDC-SetPixel(j,i,RGB(r,g,b);结果为:Untitled-txcl文件旧福竭巳査吾M熬肪(巴显示处理養底穽临罔陰的说化脸转日|為麗於|鲁鬣,Lr|ii喊i屢*“黑雄二才2)图像的简单灰度处理、逆反处理以、减小灰度处理、霓虹处理、增加灰度处理:A、灰度处理核心代码:clr=mypDC-GetPixel(j,i);voidCTxclView:Onhuidu()/TODO:AddyourcommandhandlercodehereBITMAPbmp;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclr

4、;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,i);intr=GetRValue(clr);intg=GetGValue(clr);intb=GetBValue(clr);inteva=(r+g+b)/3;pDC-SetPixel(j,i,RGB(eva,eva,eva);B、逆反处理核心代码:voidCTxclView:Onnifan()/TODO:AddyourcommandhandlercodehereBITMAPbmp;bitmap-GetBitmap(&bmp);CDC*pDC=

5、GetDC();COLORREFclr;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jSetPixel(j+300,i,RGB(r,g,b);C、减小灰度处理核心代码:voidCTxclView:Onjianxiaohuidu()/TODO:AddyourcommandhandlercodehereBITMAPbmp;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclr;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy

6、;+i)for(intj=0;jGetPixel(j,i);intr=GetRValue(clr)*GetRValue(clr)/255;intg=GetGValue(clr)*GetRValue(clr)/255;intb=GetBValue(clr)*GetRValue(clr)/255;pDC-SetPixel(j+600,i,RGB(r,g,b);D、图形的霓虹处理核心代码:voidCTxclView:Onnihong()/TODO:AddyourcommandhandlercodehereBITMAPbmp;intr,g,b;bitmap-GetBitmap(&bmp);CDC*pD

7、C=GetDC();COLORREFclra;COLORREFclrb;COLORREFclrc;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,i);clrb=mypDC-GetPixel(j,i+1);clrc=mypDC-GetPixel(j+1,i);r=(int)sqrt(GetRValue(clra)-GetRValue(clrb)*(GetRValue(clra)-GetRValue(clrb)+(GetRValue(clra)-GetRValue(clrc)*(GetRValu

8、e(clra)-GetRValue(clrc);g=(int)sqrt(GetRValue(clra)-GetRValue(clrb)*(GetRValue(clra)-GetRValue(clrb)+(GetRValue(clra)-GetRValue(clrc)*(GetRValue(clra)-GetRValue(clrc);b=(int)sqrt(GetRValue(clra)-GetRValue(clrb)*(GetRValue(clra)-GetRValue(clrb)+(GetRValue(clra)-GetRValue(clrc)*(GetRValue(clra)-GetRVa

9、lue(clrc);pDC-SetPixel(j,i+300,RGB(r,g,b);E、图形增大灰度处理核心代码:voidCTxclView:OnZenghuidu()/TODO:AddyourcommandhandlercodehereBITMAPbmp;intr,g,b;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclr;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jSetPixel(j+300,i+300,RGB(r,g,b);图像的简单灰度处理、逆反处理以

10、、减小灰度处理、霓虹处理、增加灰度处理结果对比:(3)图像的镜像变换A、垂直镜像变换的核心代码voidCTxclView:Onchuizhijx()/TODO:AddyourcommandhandlercodehereBITMAPbmp;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclr;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(x-j,i);intr=GetRValue(clr);intg=GetGValue(clr);intb=GetBV

11、alue(clr);pDC-SetPixel(j+300,i,RGB(r,g,b);B、水平镜像变换的核心代码voidCTxclView:Onshuipingjx()/TODO:AddyourcommandhandlercodehereBITMAPbmp;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclr;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,y-i);intr=GetRValue(clr);intg=GetGValue(clr);i

12、ntb=GetBValue(clr);pDC-SetPixel(j+600,i,RGB(r,g,b);垂直镜像变换、水平镜像变换与原图对比结果:EnUntxtlcd-txd立唄FJ觸旧iSMfttUi.H55立昌耀菱BS耳(4)图像的锐化处理A、图像梯度增加方法一锐化处理核心代码:voidCTxclView:OnTiDuZengqiangyi()/TODO:AddyourcommandhandlercodehereBITMAPbmp;intr,g,b;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclra;COLORREFclrb;COLORRE

13、Fclrc;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,i);clrb=mypDC-GetPixel(j,i+1);clrc=mypDC-GetPixel(j+1,i);/intb=GetBValue(clra);intr=abs(GetRValue(clra)-GetRValue(clrb)+abs(GetRValue(clra)-GetRValue(clrc);pDC-SetPixel(j,i,RGB(r,r,r);B、图像梯度增加方法二锐化处理核心代码:voidCTxclView:O

14、nTiDuZengEr()/TODO:AddyourcommandhandlercodehereBITMAPbmp;intr,g,b;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclrb;COLORREFclra;COLORREFclrc;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,i);clrb=mypDC-GetPixel(j,i+1);clrc=mypDC-GetPixel(j+1,i);/intb=GetBValue(clra);i

15、ntr=abs(GetRValue(clra)-GetRValue(clrb)+abs(GetRValue(clra)-GetRValue(clrc);if(rSetPixel(j+300,i,RGB(r,r,r);C、图像梯度增加方法一锐化处理核心代码:voidCTxclView:OnTiduZengSan()/TODO:AddyourcommandhandlercodehereBITMAPbmp;intr,g,b;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclra;COLORREFclrb;COLORREFclrc;intx=bmp.bm

16、Width;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j,i);clrb=mypDC-GetPixel(j,i+1);clrc=mypDC-GetPixel(j+1,i);/intb=GetBValue(clra);intr=abs(GetRValue(clra)-GetRValue(clrb)+abs(GetRValue(clra)-GetRValue(clrc);if(r50)r=0;elser=GetRValue(clra);pDC-SetPixel(j+600,i,RGB(r,r,r);D、Sobel算子锐化处理核心

17、代码:voidCTxclView:OnSobelSuanZi()/TODO:AddyourcommandhandlercodehereBITMAPbmp;intr,g,b;bitmap-GetBitmap(&bmp);CDC*pDC=GetDC();COLORREFclra,clrb,clrc;COLORREFclra1,clrb1,clrc1;COLORREFclra2,clrb2;intx=bmp.bmWidth;inty=bmp.bmHeight;for(inti=0;iy;+i)for(intj=0;jGetPixel(j-1,i+1);clrb=mypDC-GetPixel(j,i+

18、1);clrc=mypDC-GetPixel(j+1,i+1);clra1=mypDC-GetPixel(j-1,i-1);clrb1=mypDC-GetPixel(j,i-1);clrc1=mypDC-GetPixel(j+1,i-1);clra2=mypDC-GetPixel(j+1,i);clrb2=mypDC-GetPixel(j-1,i);intm=abs(GetRValue(clra)+2*GetRValue(clrb)+GetRValue(clrc)-GetRValue(clra1)-2*GetRValue(clrb1)-GetRValue(clrc1);intn=abs(GetRValue(clrc1)+2*GetRValue(clra2)+GetRValue(clrc)-GetRValue(clra1)-2*GetRValue(clrb2)-GetRValue(clra);intr=m+n;pDC-SetPixel(j,i+300,RGB(r,r,r);四种锐化处理结果为:5)旋转变化采用的是45度角旋转正变换,核心代码为voidCTxclVie

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论