数字图像处理实验报告-直方图均衡化.doc

数字图像处理实验报告-直方图均衡化.doc

ID:57333262

大小:204.00 KB

页数:10页

时间:2020-08-12

数字图像处理实验报告-直方图均衡化.doc_第1页
数字图像处理实验报告-直方图均衡化.doc_第2页
数字图像处理实验报告-直方图均衡化.doc_第3页
数字图像处理实验报告-直方图均衡化.doc_第4页
数字图像处理实验报告-直方图均衡化.doc_第5页
资源描述:

《数字图像处理实验报告-直方图均衡化.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计课程名称数字图像处理题目名称直方图均衡化学生学院信息工程学院专业班级10级电信2班学号学生姓名指导教师曹江中2013年1月日设计题目:直方图均衡化1、直方图的理论基础:(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。(2)直方图的作用:反映一幅图像的灰度分布特性(3)直方图的计算:式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。2、设计目的:产生一幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,达到了图象增强的目的。3、直方图均衡化的效果:1

2、)变换后直方图趋向平坦,灰级减少,灰度合并。2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。同时,也增加了图象的可视粒度。4、离散情况下的直方图均衡化的算法:A、列出原始图像的灰度级B、统计各灰度级的像素数目C、计算原始图像直方图各灰度级的频数D、计算累积分布函数F、应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号:G、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分

3、布的输出图像。5、主要代码///////////////////////////////////////////////////////////////////画两个直方图坐标轴///////////////////////////////////////////////////////////////////voidCImageView::OnDraw(CDC*pDC){CImageDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcode

4、fornativedatahereif(m_dib.m_bLoaded==true)//判断是否加载图像{//获取图像宽和高intnw=m_dib.GetDIBWidth();intnh=m_dib.GetDIBHeight();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereif(m_dib.m_bLoaded==true){intnw=m_dib.GetDIBWidth();intnh=m_dib.GetDIBHeight();m_dib.

5、ShowDIB(pDC,10,10,nw,nh,m_dib.m_pDIBData,m_dib.m_pBMI);m_dib.ShowDIB(pDC,400,10,nw,nh,m_dib.m_pDumpDIBData,m_dib.m_pBMI);}if(m_bHist==true){//绘画直方图CStringstr;intnh=m_dib.GetDIBHeight();inti;//绘制坐标轴pDC->MoveTo(10,nh+20);//(10,nh+20)是直方图的左上角坐标//垂直轴pDC->Lin

6、eTo(10,nh+200);//(10,nh+200)是直方图的左下角坐标//水平轴pDC->LineTo(310,nh+200);//(310,nh+200)是直方图的右下角坐标//写X轴刻度值str.Format("0");pDC->TextOut(10,nh+200+10,str);str.Format("50");pDC->TextOut(60,nh+200+10,str);str.Format("100");pDC->TextOut(110,nh+200+10,str);str.Format

7、("150");pDC->TextOut(160,nh+200+10,str);str.Format("200");pDC->TextOut(210,nh+200+10,str);str.Format("255");pDC->TextOut(265,nh+200+10,str);str.Format("原图直方图归一化");pDC->TextOut(100,nh+230+10,str);//绘制X轴刻度for(i=0;i<256;i+=25){if((i&1)==0){//10的倍数pDC->MoveT

8、o(i+10,nh+200-2);pDC->LineTo(i+10,nh+200+2);}else{//10的倍数pDC->MoveTo(i+10,nh+200-2);pDC->LineTo(i+10,nh+200+2);}}//绘制X轴箭头pDC->MoveTo(305,nh+200-5);pDC->LineTo(310,nh+200);pDC->LineTo(305,nh+200+5);//绘制y轴箭头pDC->MoveTo(10,nh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。