灰度圖象的直方图规定化处理实验报告.docVIP

灰度圖象的直方图规定化处理实验报告.doc

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

灰度图象的直方图规定化处理实验 姓名: 周立 学号: 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。 的计算方法相同。 在附录所给出的源代码中,转换函数由数组SG[256]实现。 PSNR值,即峰值信噪比,可以作为衡量输出图象的客观保真度的标准。设图象有256灰度级,则它的计算公式如下: g(x,y)和f(x,y)分别代表处理后的图象和原始图象。 显然,PSNR值越大,图象的保真度越高。 整个过程的处理框图: 读入原始图象 计算原始图象的直方图存入H[256]并将数据输出 计算原始图象的均衡直方图存入S[256]并将数据输出 生成并保存均衡图象 计算原始图象至均衡图象的PSNR值 计算规定的直方图存入G[256] 计算规定的直方图的均衡直方图存入GS[256]并将数据输出 计算从原始图象到最终增强图象的转换函数 生成并保存最终增强图象 计算最终增强图象的直方图GR[256]并将数据输出 计算原始图象至最终增强图象的PSNR值 实验结果: 原图象直方图H: 直方图H的均衡直方图S: 原始图象R 均衡图象S PSNR=10.954935 目标直方图G 目标直方图G的均衡直方图 最终增强图象G PSNR=11.947287 最终增强图象直方图 附录: 源程序 #include afx.h #include afxwin.h // MFC core and standard components #include afxext.h // MFC extensions #include math.h #ifndef HXLBMPFILE #define HXLBMPFILE class BMPFILE {public: RGBQUAD palette[256]; 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(); }; #endif void main() { BMPFILE bmpfile; bmpfile.LoadBMPFILE (实验图象1.bmp); if(!bmpfile.bIsOk) { printf(Error loading image.\n); return; } // do other processing with the imagedata int H[256]; //原始图象直方图 memset(H,0,sizeof(H)); int S[256]; //变换映射-均衡直方图S double psnr; //峰值信噪比 int i; int f; for(i=0;ibmpfile.imageh*bmpfile.imagew;i++) H[*(bmpfile.imagedata+i)]++; S

文档评论(0)

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

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

1亿VIP精品文档

相关文档