版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程:图像处理班级:门9134-20学号:20131003343学生姓名:魁2015年们月目录TOC o 1-5 h z HYPERLINK l bookmark12 o Current Document 课程背景1 HYPERLINK l bookmark14 o Current Document 课程选题1设计算法11.灰度直方图2.图像几何变换3图像平滑四.关键代码TOC o 1-5 h z HYPERLINK l bookmark22 o Current Document 图像平移6 HYPERLINK l bookmark24 o Current Document 图像翻转9 HYP
2、ERLINK l bookmark26 o Current Document 3图像翻转9 HYPERLINK l bookmark28 o Current Document 4.高斯平滑10 HYPERLINK l bookmark30 o Current Document 5中值滤波12 HYPERLINK l bookmark32 o Current Document 五.测试结果15六.总结分析18图像处理课程报告 课程背景随机计算机技术的发展,数字图像的釆集和应用,特别是加工技术近年來得到极大的重视和长足的进展,出现了许多有关的新理论、新方法、新算法、新手段和新设备,并己使得数字图像
3、技术在科学研究、工业生产、医疗卫生、教育、娱乐、管理和通信等方面得到了广泛的应用,对失去社会发展、改善人们的生活水平都起到了重要的作用。正因为图像处理在社会生活中有着越來越重要的作用,这也就体现了我们学习这门课程的必要性。而通过课程的学习可以让我们掌握一些图像处理的初步技术,从而为今后在图像处理的学习方面打下了基础。课程选题图像的读取,显示,保存等处理,通过MFC,做了灰度直方图,图像的几何变换,图像平滑等操作设计算法灰度直方图灰度直方图(histogram)是灰度级的函数,描述的是图像中每种灰度级像素的个数,反映图像中每种灰度出现的频率。横坐标是灰度级,纵坐标是灰度级出现的频率。依据定义,若
4、图像具(通常L=256,即8位灰度级)级灰度,则人小为MxN的灰度图像f(x,y)的灰度直方图histO-L-lnf用如卞计算获得。1、初始化histk=O;k=0,L-l2、统计histRx,y)+;x=0,M-l,y=0,N-13、归一化histf(x,y)/=M*N图像几何变换实现简单的空间变换,如图像平移、镜像、缩放和旋转。主要是通过线性代数中的齐次坐标变换。1图像平移坐标变换如下a(x.y)=x+xQb(x,y)=y+yQ10 xj兀=01Joy1_001_i_2.水平镜像翻转其变换矩阵如下:X=width-X0-1(width为图像宽度)Y=YO3.垂直镜像倒转其中变换矩阵如下:x
5、=xoY=height-Y0-1(height为图像高度)它相当于把原图的像素矩阵的最后一行像素值赋值给第一行,首先找到(0,0)对应的(height-1,0)像素值,然后依次赋值该行的像素数据;最后当前行赋值结束,依次下一行。重点是找到每行的第一个像素点即可。4图像旋转图像饶原点旋转顺时针theta角矩阵变换如门注意BMP图像(0,0)左下角y)=xcos()-ysiii(?)方(xj)=xsin(&)+ycos(&)cos(e)-sin(O)0Xb(3)=sin(O)cos(O)0y100113图像平滑领域平滑图像简单平滑是指通过邻域简单平均对图像进行平滑处理的方法,用这种方法在一定程度上
6、消除原始图像中的噪声、降低原始图像对比度的作用。它利用卷积运算对图像邻域的像素灰度进行平均,从而达到减小图像中噪声影响、降低图像对比度的目的。但邻域平均值主要缺点是在降低噪声的同时使图像变得模糊,特别在边缘和细节处,而且邻域越大,在去噪能力增强的同时模糊程度越严重。高斯平滑为了克服简单局部平均法的弊端(图像模糊),目前已提出许多保持边缘、细节的局部平滑算法。它们的出发点都集中在如何选择邻域的人小、形状和方向、参数加平均及邻域各店的权重系数等。图像高斯平滑也是邻域平均的思想对图像进行平滑的一种方法,在图像高斯平滑中,对图像进行平均时,不同位置的像素被赋予了不同的权重。在图像简单平滑中,算法利用卷
7、积模板逐一处理图像中每个像素,这一过程可以形象地比作对原始图像的像素一一进行过滤整理,在图像处理中把邻域像素逐一处理的算法过程称为滤波器。平滑线性滤波器的工作原理是利用模板对邻域内像素灰度进行加权平均,也称为均值滤波器。高斯平滑与简单平滑不同,它在对邻域内像素进行平均时,给予不同位置的像素不同的权值。模板越靠近邻域中心位置,其权值越高。在图像细节进行模糊时,可以更多的保留图像总体的灰度分布特征。中值滤波在使用邻域平均法去噪的同时也使得边界变得模糊。而中值滤波是非线性的图像处理方法,在去噪的同时可以兼顾到边界信息的保留。选一个含有奇数点的窗IIW,将这个窗II在图像上扫描,把窗II中所含的像素点
8、按灰度级的升或降序排列,取位于中间的灰度值来代替该点的灰度值。g(mfn)=Mediarfm一k,n-1),(k,7)e图像处理课程报告例如选择滤波的窗II如下图,是一个一维的窗II,待处理像素的灰度取这个模板中灰度的中值,滤波过程如下:m2m-lmttw-lm*2图99一维窗口设療珊为:456675432123567处理肓为:4561665432223567(4567)(5567)(23(J1D67)常用的窗11还有方形、十字形、圆形和环形。不同形状的窗门产生不同的滤波效果,方形和圆形窗11适合外轮廓线较长的物体图像,而十字形窗11对有尖顶角状的图像效果好。(m2Q(m5(m.n-2)(nm
9、-1)(mg(mjw-1)(hmh2)(m*2Q(m-lFn-l)(mji-1)(m*1,n-l)(mlQ(mm)(nn-Ln)(m-1,n令1)(mmI)(oHl.n+l)中值滤波对于消除孤立点和线段的干扰十分有用,尤其是对于二进噪声,但对消除高斯噪声的影响效果不佳。对于一些细节较多的复杂图像,可以多次使用不同的中值滤波。BMP文件格式BMP文件头:BMP文件头数据结构含冇BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:typedefstrncttagBITNIAPFILEHEADERWORDbfType;位图文件的类型,必须为BMDWORDbfSize;/位图文件的人小,以
10、字节为单位WORDbfReservedl;位图文件保留字,必须为0图像处理课程报告 WORDbfReserved2;位图文件保留字,必须为0DWORDbfOffBits;/位图数据的起始位置,以相对于位图/文件头的偏移量表示,以字节为单位BITMAPFILEHEADER;位图信息头:BMP位图信息头数据用于说明位图的尺寸等信息。typedefstrncttagBITNIAPINFOHEADERDWORDbiSize;/本结构所占用字节数LONGbiWidth;ll位图的宽度,以像素为单位LONGbiHeight;/位图的高度,以像素为单位WORDbiPlanes;/目标设备的级别,必须为1WO
11、RDbiBitCoimt/每个像素所需的位数,必须是1(双色),/4(16色),8(256色)或24(真彩色)之一DWORDbiCompression;/位图压缩类型,必须是0(不压缩),/1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一DWORDbiSizeimage;位图的人小,以字节为单位LONGbiXPelsPei-Meter;位图水平分辨率,每行像素数LONGbiYPelsPei-Meter;/位图垂直分辨率,每列像素数DWORDbiCli-Used;/位图实际使用的颜色表中的颜色数DWORDbiCklinpoitant;/位图显示过程中重要的颜色数BITMAPINFO
12、HEADER;颜色表:颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:typedefstrncttagRGBQUADBYTErgbBlue;/蓝色的亮度(值范【韦I为0-255)BYTErgbGreen;/绿色的亮度(值范闱为0-255)BYTErgbRed;/红色的亮度(值范閑为0-255)BYTErgbReseived;/保留,必须为0RGBQUAD;!1!关键代码1.图像平移nitnum;记录每行多余的图像素数个数mtsfSize;补齐后的图像人小重点:图像的每行像素都必须是4的倍数:1*1的图像为rgbO
13、OHif(m_nWidth*3%4!=0)num=(4-m_nWidth*3%4);sfSize=(m_nWidth*3+num)*m_nHeight;每行多numberelsenum=0;sfSize=m_nWidth*m_iiHeiglit*3;注意:假如最后一行像素不足,我默认处理为完整的一行,不足补OOH总之处理后的图像总是m*n且为4倍数,每行都完整存在严更改文件头信息定义临时文件头结构变量*/BITNIAPHLEHEADERbflisf;BITMAPINFOHEADERbilisf;bfhsf=bfh;bihsf=bili;bfhsf.bfSize=sfSize+54;fvnte(
14、&bfhsf,sizeof(BITIAPFILEHEADER),1w);fvnte(&bihsf,sizeof(BITMAPINFOHEADER),lw);&ead(m_jplmagem_nlmage,l,fpo);/*临时变屋存储的像素与sfSize相同new和delete有效的进行动态内存的分配和释放*/imsigiiedchar*ImageSize;IinageSize=newunsignedcharsfSize;mtPlace;建立临时坐标记录起始坐标(0,0)平移过来的位置intmjpIniagePlace;原始图像平移为(0,0)图像把它平移到Place位置unsignedchar
15、black=0;填充黑色=Oimsigiiedcharothei-0;补码00H=0Place=dlg.m_yPY*(m_nWidth*3+num);/前m_yPY行都要填充为黑色m_pIinagePlace=O;图像处事位置为(0,0),把该点像素平移过去mtcountWidth=0;记录每行的像素个数,满行时变回0mtnumbei-0;/数字记录使用的像素行数,平移时使用for(inti=0;isfSize;i+)/*第一部分:到平移后像素位置前面的所有像素点赋值为黑色*/if(i=Place&countWidth=Place&countWidth=dlg.m_xPY*3)ImageSiz
16、ei=m_pImagem_pImagePlace;m_pIiuagePlace-H-;countWidth+;if(countWidth=m_nWidth*3)if(num=0)countWidth=0;numbei-+-r;m_pImagePlace=number*m_nWidth*3;else/num为补0fbr(iiitj=0;jnum;j+)i+;ImageSizei=other;countWidth=0;numbei-+-r;m_pImagePlace=number*(m_nWidtli*3+num);图像处理课程报告 2.图像翻转unsignedchar*IniageSize;Ii
17、nageSize=newunsignedcharm_nlinage;mtcountWidth=0;记录每行的像素个数,满行时变回0intPlace;/记录图像每行的位置,便于图像反转mtnumbei-0;数字记录使用的像素行数Place=in_nWidth*3-l;翻转矩阵:y=yOx=width-xO-lfbr(inti=0;im_nlinage;)if(countWidth=in_nWidth*3)countWidth=0;ImageSizei=m_pImagePlace;/(0,0)赋值(0,width*3-l)像素Place;countWidtli-H-;if(countWidth=i
18、n_nWidth*3)number+;Place=number*m_nWidth*3-l;3图像翻转unsignedchar*IniageSize;IiiiageSize=iiewunsignedcharm_nliuage;intcountWidth=0;记录每行像素个数,满行时变回0intPlace;每列位置intnumbei-O;像素行数Place=(m_nWidth*3)*(m_iiHeight-1-1);/0行存储翻转矩阵:x=xOy=height-yO-lfbr(iiiti=0;im_nlinage;)ImageSizei=m_pImagePlace;/(0,0)赋值(0Q)像素Pl
19、ace-H-;countWidtli-H-;if(countWidth=iu_nWidth*3)countWidth=0:number+;Place=(m_nWidth*3)*(m_nHeight-number-1);4.高斯平滑严第一步:先定义数据模板*/intHWS=3;模板维数为3维floatH33=1.0/16,2.0/16,1.0/16,高斯模板系数1/162.0/16,4.0/16,2.0/16,1.0/16,2.0/16,1.0/16;打开临时的图片FILE*fpo=fbpen(BmpName/,rbH);FILE*fpw=fopen(BmpNameLin/wb+H);&ead(
20、&bfli,sizeof(BITMAPFILEHEADER)丄如o);fread(&bih,sizeof(BITMAPINFOHEADER),1,fpo);fvrite(&bfh,sizeof(BITMAPFILEHEADER),fjpw);fvrite(&bih,sizeof(BITIAPINFOHEADER),fjpw);fiead(m_pliuage,m_iilmage51o);/new和delete有效的进行动态内存的分配和释放unsignedchar*ImageSize;IinageSize=newunsignedcharm_iilmage;floatred,green,blue;m
21、tX,Y;一维坐标转换为二维坐标mtTR.TGJB;/记录红绿蓝坐标位置图像增强:平滑fbr(inti=0;im_nlmage;i=i+3)原图:一维矩阵转换为二维矩阵X=(i/3)%m_nWidth;/图像在X列Y=(i/3)/m_nWidtli;/图像在Y行赋值为黑色,相当于清零red=green=blue=O;对图像进行像素求和并取平均值HWS维数第J行第k列防止越界for(intj=Y-HWS/2;jY+HWS/2+l;j+)for(mtk=X-lTWS/2;k=0&k=0&km_nWidth&jm_iiHeight)模板二进行模板平均,把该点像素分散到四周TR=j*m_nWidth*
22、3+k*3;red+=H(j-Y+HWS/2)(k-X+HWS/2)*(float)(m_pImageTR);TG=j*m_nWidth*3+k*3+l;green+=H(j-Y+HWS/2)(k-X+HWS/2)*(float)(mjpImageTG);TB=j*m_iiWidth*3+k*3+2;blue+=H(j-Y+HWS/2)(k-X+HWS*(float)(m_pImageTE);对新图像赋值ImageSizei=(unsignedchar)(red);ImageSizei+l=(unsigiiedchar)(green);ImageSizei+2=(unsigiiedchar)(blue);5.中值滤波unsignedchar*IniageSize;IinageSize=newunsignedcharm_iilmage;intX,Y;一维坐标转换为二维坐标intTR,TG,TB;/记录红绿蓝坐标位置/选取它为中心的周闱9个点像素(注意一个点为RGB)intH9=0,0,0,0,0,0,0,0,0;intHAVS=3;/维数为三维图像增强:平滑它要获取源图像周闱9个点的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026多人护理面试题及答案
- 婚礼上的父母致辞
- 2026防疫专岗面试题目及答案
- 企业信息化建设与运营管理指导书
- 2026海南药业面试题及答案
- 小学安全教育:校园安全从我做起小学主题班会课件
- 团结协作力量大热爱集体情意深小学主题班会课件
- 广西壮族自治区南宁市2026年高考考前模拟生物试题含解析
- 小学主题班会课件:勇敢与智慧共存,竞争与合作双赢
- 地球小卫士:保护我们的蓝色家园小学主题班会课件
- 2026年乡村医生培训考核试题库及答案
- 资本赋能与产业升级:资本市场驱动战略性新兴产业成长的深度剖析
- 《物流企业分类与评估指标》
- 2026苏教版一年级数学下册期末试卷及答案
- 2026年湖北省烟草专卖局招聘笔试真题
- 人教版六年级语文上册电子书
- 公路工程成本核算与管理办法
- 安防综合平台运维服务方案
- 江苏省苏州市事业单位考试真题库(典优)
- 四川烟草招聘考试试题真题及答案
- TSGT5002-2025电梯维护保养规则
评论
0/150
提交评论