- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多媒体技术_project1_直方图
多媒体技术实验报告 项目名称: 直方图均衡 提交文档学生姓名: 提交文档学生学号: 教师评阅成绩: 教师评阅意见: . . 提交报告时间: 年 月 日 实验题目: 直方图均衡 实验要求: 1) 读入给定BMP格式图像, 2) 求输入图像的直方图,并以文本文件形式输出 3) 完成直方图均衡, 4) 将直方图均衡后图像以BMP格式输出 5) 计算均衡后图像的直方图,并以文本文件形式输出 6) 观察比较均衡前后图像及直方图的不同 实验环境: Win7、VC 6.0、 算法描述: 源程序清单: #include windows.h #include iostream.h #include fstream.h #include string.h #include math.h #include stdio.h #include stdlib.h #include malloc.h #define WIDTHBYTES(i) ((i+31)/32*4) //实现除以8成为字节个数的同时保证位个数又是32的倍数 void main(){ BITMAPFILEHEADER bitHead; //位图文件头 BITMAPINFOHEADER bitInfoHead; //位图信息头 FILE* pfile; //读取图文件 char strFile[50]; scanf(%s,strFile); //读取图文件地址 pfile = fopen(strFile,rb);//打开文件 if(pfile!=NULL) { printf(file open success.\n); //读取位图文件头信息 fread(bitHead,1,sizeof(tagBITMAPFILEHEADER),pfile); //读取位图信息头信息 fread(bitInfoHead,1,sizeof(BITMAPINFOHEADER),pfile); } else { //读取失败 printf(file open fail!\n); return; } RGBQUAD *pRgb ; long nPlantNum; if(bitInfoHead.biBitCount 24)//不是24位彩图,有调色板 { //读取调色板信息 nPlantNum = long(pow(2,double(bitInfoHead.biBitCount))); //调色板颜色数目为2的bitInfoHead.biBitCount次方 pRgb=(tagRGBQUAD *)malloc(nPlantNum*sizeof(tagRGBQUAD)); //分配调色板空间来存储rpg memset(pRgb,0,nPlantNum*sizeof(RGBQUAD)); //将分配的空间清零 int num = fread(pRgb,4,nPlantNum,pfile); //读取调色板信息 } int width = bitInfoHead.biWidth; //位图宽度(一行像素点个数) int height = bitInfoHead.biHeight; //位图高度 //分配内存空间把源图存入内存 int l_width = WIDTHBYTES(width * bitInfoHead.biBitCount); //位图实际长度(一行字节个数) BYTE *pColorData=(BYTE *)malloc(height*l_width); //分配位图数据信息存储区 memset(pColorData,0,height*l_width); //位图数据信息存储区清空 long nData = height*l_width; //位图数据信息长度 //把位图数据信息读到数组里 fread(pColorDat
文档评论(0)