直方图均衡化实验报告.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多

多媒体技术实验报告

项目名称:bmp文件直方图均衡

提交文档学生姓名:

提交文档学生学号:

教师评阅成绩:

教师评阅意见:

.

.

提交报告时间:2013年11月16日

实验题目: bmp文件直方图均衡

实验要求:

1)读入给定BMP格式图像,

2)求输入图像的直方图,并以文本文件形式输出

3)完成直方图均衡,

4)将直方图均衡后图像以BMP格式输出

5)计算均衡后图像的直方图,并以文本文件形式输出

6)观察比较均衡前后图像及直方图的不同

实验环境:windows7操作系统、vc6.0

算法描述:

读取bmp程序流程图

读取bmp

统计像素

统计像素

计算概率

更新像素

更新像素

保存

保存bmp

测试程序说明

用户需将欲测试文件放在该程序目录下

启动程序并输入bmp文件名即可,在该目录下的”resource”文件夹下可以看到运

行后的bmp图像以及在bmp图像均衡前后的直方图输出。

源程序清单:

添加必要的注释

#include<windows.h>

#include<IOSTREAM>

#include<stdio.h>

#include<CMATH>

#include<assert.h>

usingnamespacestd;

intLineBytes;//bmp文件中每一行的长度,单位为字节

intL;//bmp中的最大像素值

longlength;//bmp文件中数据域的长度,单位为字节

//保存bmp文件。需传入bmp文件的文件名、头信息、信息头、调色板以及像素数组

boolsaveBmp(char*bmpName,BITMAPFILEHEADER&fileHeader,BITMAPINFOHEADER&infoHeader,RGBQUAD*platte,unsignedchar*imgBuf)

{

FILE*fp=fopen(bmpName,"wb");

if(fp==NULL)

returnfalse;

fwrite(&fileHeader,sizeof(BITMAPFILEHEADER),1,fp);

fwrite(&infoHeader,sizeof(BITMAPINFOHEADER),1,fp);

fwrite(platte,sizeof(RGBQUAD),L,fp);

fwrite(imgBuf,infoHeader.biHeight*LineBytes,1,fp);

fclose(fp);

returntrue;

}

boolreadBmp(constchar*fName,BITMAPFILEHEADER&fileHeader,BITMAPINFOHEADER&infoHeader,RGBQUAD*&platte,unsignedchar*&imageData)

{

intwidth;

intheight;

FILE*fp=NULL;

fp=fopen(fName,"rb");

if(fp==NULL)

returnfalse;

fread(&fileHeader,sizeof(BITMAPFILEHEADER),1,fp);

fread(&infoHeader,sizeof(BITMAPINFOHEADER),1,fp);

width=infoHeader.biWidth;

height=infoHeader.biHeight;

L=(int)pow(2.0,infoHeader.biBit

文档评论(0)

151****1215 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档