编程实现计算图像直方图、图像熵教程.doc

编程实现计算图像直方图、图像熵教程.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编程实现计算图像直方图、图像熵教程

车载激光扫描与全景成像城市测量系统 全景成像系统标定报告 PAGE  文档编号:版本号:编制人:张岩编制日期:2016/4/8最后修改日期:2016/4/8 数字图像处理实验报告 ——图像常用格式及显示 武汉大学 2016.04  PAGE \* MERGEFORMAT 7 1 实验内容 本实验报告主要介绍 主要内容 1.????????理解灰度映射原理; 2.????????掌握灰度映射计算方法; 3.????????理解图像直方图的定义; 4.????????理解图像直方图的作用; 5.????????理解图像熵的定义及作用; 6.????????掌握图像直方图计算方法?; 7.????????掌握图像熵的计算方法; 8.????????进一步熟悉图像文件256色、24位真彩色BMP图像格式; 9.????????进一步熟悉Visual C++?6.0编程界面,及使用方法; 10.?????熟悉Visual C++中绘图函数方法; 11.?????编程完成计算图像几种灰度映射; 12.?????编程实现计算图像直方图、图像熵; 13.?????编程绘制图像直方图; 14.?????根据不通灰度映射处理观察图像直方图变化; 15.?????总结实验过程(实验报告):编程、调试、结果、分析、结论。 主要目的 1.????????建立相关实验环境:从指定服务器指定位置拷贝实验相关材料,包括:实验要求,实例程序,示例图像,VC++6.0程序,实验相关幻灯片; 2.????????使用实验一建立的简单多文档应用程序框架及、图像夺取和显示功能,进一步熟悉图像的格式及显示,熟悉图像的组织和存储方式。 3.????????编写图像线性灰度映射: 4.????????编写图像直方图统计程序: 5.????????观察图像直方图 主要函数说明 1.void CZhangyanImageView::OnProcessZhifangtu() 函数目的:在用户界面中添加直方图处理,并添加函数在.cpp文件中 函数参数说明:建立直方图处理函数 2.void CZhangyanImageView::OnProcessLinetran() 函数目的:在用户界面中添加灰度变换处理,并添加函数在.cpp文件中函数参数说明:建立灰度变换处理函数 主要代码注释 1.灰度变换函数代码 CZhangyanImageDoc* pDoc = GetDocument();//定义引用doc的指针 ASSERT_VALID(pDoc); unsigned char * pBits=pDoc-m_pBits;//把文件中的m_pBits赋予pBits int nWidth=pDoc-imageWidth; int nHeight=pDoc-imageHeight;//定义整形的image图片宽和高 int nValue=0; double dValue=0.0; long lTotal=0; long lTotalD=0; long lTotalL=0; int ab=100,bb=255,a=0,b=255;//定义原图像的灰度值0-255范围,定义处理后图像灰度值100-255范围 if(pBits==NULL) return ;//遍历完成则返回 for(int i=0;inHeight;i++) { lTotalL=nWidth*i;//统计出宽*当前高 for(int j=0;jnWidth;j++) { lTotalD=lTotalL+j;//统计出第几个像素 nValue=*(pBits+lTotalD);// 采用int?nValue= *(m_pBits??imageWidth?*?i??+j??)公式获得图像点灰度值 dValue=ab+1.0*(bb-ab)/(b-a)*(nValue-a);//套用灰度变换公式 pBits[lTotalD]=int(dValue); } }//对图像进行遍历与灰度处理 Invalidate();//强制显示改变了的图像 2.直方图生成函数 m_bShow=TRUE; CZhangyanImageDoc* pDoc = GetDocument();//定义引用doc的指针 ASSERT_VALID(pDoc); unsigned char * pBits=pDoc-m_pBits; //把文件中的m_pBits图像指针赋予pBits int nWidth=pDoc-imageWidth; int nHeight=pDo

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档