灰度图象的直方图规定化处理实验报告.doc_第1页
灰度图象的直方图规定化处理实验报告.doc_第2页
灰度图象的直方图规定化处理实验报告.doc_第3页
灰度图象的直方图规定化处理实验报告.doc_第4页
灰度图象的直方图规定化处理实验报告.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

灰度图象的直方图规定化处理实验姓名: 周立 学号: 20071090001 完成日期:2010年1月实验目的:-掌握BMP图象文件结构、文件操作等基本功能-掌握直方图均衡、直方图规定化处理等技术实验内容:将一幅给定的灰度图象进行图象增强,其增强后的图象具有规定的直方图形式。条件:1)给定一幅灰度图象;2)给定增强后的直方图G(自己计算每一灰度的概率值):要求:1-绘出原图象直方图H;2-绘出直方图H的均衡直方图S 及均衡图象、PSNR值;3-绘出目标直方图G的均衡直方图;4-绘出最终增强图象、PSNR值及其直方图;5-给出整个过程的处理框图;6-附上程序源代码。方法描述:可以用概率密度函数来表示一幅图象的灰度分布。其中,r为灰度值,的值为概率密度。实验要将原始图象R通过转换函数转换为具有规定概率密度函数最终增强图象G。设原图象的概率密度函数为。变换后的图象的概率密度函数=规定的概率密度函数。由随机变量函数的概率密度公式可以得到:设 , 则有 所求得的就是从原始图象到最终增强图象的转换函数。上述推导得到的的表达式适用于在灰度级和空间上都连续的图象。为达到数字图象处理的目的,必须对上述表达式进行近似,这种离散形式的近似可以导致图象灰度级的丢失。设图象有256灰度级,该近似方法如下:, 其中,为灰度值为r的像素总数,n为总像素数。r=1,2,255。的计算方法相同。在附录所给出的源代码中,转换函数由数组SG256实现。PSNR值,即峰值信噪比,可以作为衡量输出图象的客观保真度的标准。设图象有256灰度级,则它的计算公式如下:g(x,y)和f(x,y)分别代表处理后的图象和原始图象。显然,PSNR值越大,图象的保真度越高。整个过程的处理框图:读入原始图象计算原始图象的直方图存入H256并将数据输出计算原始图象的均衡直方图存入S256并将数据输出生成并保存均衡图象计算原始图象至均衡图象的PSNR值计算规定的直方图存入G256 计算规定的直方图的均衡直方图存入GS256并将数据输出计算从原始图象到最终增强图象的转换函数生成并保存最终增强图象计算最终增强图象的直方图GR256并将数据输出计算原始图象至最终增强图象的PSNR值实验结果:原图象直方图H:直方图H的均衡直方图S:原始图象R均衡图象S PSNR=10.954935目标直方图G目标直方图G的均衡直方图最终增强图象G PSNR=11.947287最终增强图象直方图附录:源程序#include #include / MFC core and standard components#include / MFC extensions#include #ifndef HXLBMPFILE#define HXLBMPFILEclass BMPFILEpublic: RGBQUAD palette256; BITMAPFILEHEADER imagefh; BITMAPINFOHEADER imageih; int imagew,imageh; UCHAR *imagedata; UCHAR *GetByteatH(int height); BOOL AllocateMem(); BOOL bIsOk; void LoadBMPFILE(char *fname); void SaveBMPFILE(char *fname); BMPFILE();BMPFILE();#endifvoid main()BMPFILE bmpfile;bmpfile.LoadBMPFILE (实验图象1.bmp);if(!bmpfile.bIsOk) printf(Error loading image.n);return;/ do other processing with the imagedataint H256; /原始图象直方图memset(H,0,sizeof(H);int S256; /变换映射-均衡直方图Sdouble psnr; /峰值信噪比int i;int f;for(i=0;ibmpfile.imageh*bmpfile.imagew;i+)H*(bmpfile.imagedata+i)+;S0=H0;for(i=1;i256;i+)Si=Si-1+Hi;for(i=0;i256;i+)Si=Si*255/(bmpfile.imageh*bmpfile.imagew);for(i=0;ibmpfile.imageh*bmpfile.imagew;i+)*(bmpfile.imagedata+i)=S*(bmpfile.imagedata+i);/原图象的直方图Hprintf(H: );for(i=1;i256;i+)printf(%d ,Hi);printf(n);/原图象(直方图H)的均衡直方图printf(S: );for(i=1;i256;i+)printf(%d ,Si);printf(n);/均衡图象bmpfile.SaveBMPFILE (实验图象1-均衡图象.bmp);/PSNR值psnr=0;for(i=0;i255;i+)psnr+=(Si-i)*(Si-i)*Hi;psnr=10*log10(double(bmpfile.imageh)*bmpfile.imagew*255*255/psnr);printf(PSNR: %fn,psnr);/目标直方图G的均衡直方图int G256; /规定直方图int GS256; /规定直方图的均衡直方图for(i=0;i=127;i+)Gi=i;for(i=128;i=255;i+)Gi=(255-i);GS0=G0;for(i=1;i256;i+)GSi=GSi-1+Gi;f=GS255/255+1;for(i=0;i256;i+)GSi/=f;printf(GS: );for(i=1;i256;i+)printf(%d ,GSi);printf(n);/最终增强图象int i2;int minNumber;int SG256; /从原图象的均衡图象到最终增强图象的映射memset(SG,0,sizeof(SG);for(i=0;i256;i+)minNumber=255;for(i2=0;i2256;i2+)if(abs(Si-GSi2)minNumber)minNumber=abs(Si-GSi2);SGSi=i2;for(i=0;ibmpfile.imageh*bmpfile.imagew;i+)*(bmpfile.imagedata+i)=SG*(bmpfile.imagedata+i);bmpfile.SaveBMPFILE (实验图象1-最终增强图象.bmp);/最终增强图象的直方图GR R=realint GR256;memset(GR,0,sizeof(GR);for(i=1;i256;i+)GRSGSi+=Hi;printf(GR: );for(i=1;i256;i+)printf(%d ,GRi);printf(n);/最终增强图象的PSNR值psnr=0;for(i=0;i2

温馨提示

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

评论

0/150

提交评论