1、 1 / 9 课课 程程 设设 计计 课程名称 数字图像处理课程设计 题目名称 直方图均衡化 学生学院 信息工程学院 2 / 9 一、设计题目一、设计题目 直方图均衡化 设计内容及要求: (1) 、查阅文献、理解直方图均衡化的原理。 (2) 、利用 VC编写直方图均衡化程序。 (3) 、设计的软件框架能够实现直方图变换前后的图像直方图及图 像,以进行比较。 (4) 、调用 matlab 中的直方图均衡化函数并得出实验结果,比较、 分析与自己编写的代码实验结果区别。 二、课程设二、课程设计目的计目的 数字图像处理, 就是用数字计算机及其他有关数字技术, 对图像 进行处理,以达到预期的目的。随着计
2、算机的发展,图像处理技术在 许多领域得到了广泛应用,数字图像处理已成为电子信息、通信、计 算机、自动化、信号处理等专业的重要课程。 数字图像处理课程设计是在完成数字图像处理的相关理论的学 习后,进行的综合性训练课程,其目的主要包括: 1、使学生进一步巩固数字图像处理的基本概念、理论、分析方法 和实现方法; 2、增强学生应用 VC编写数字图像处理的应用程序及分析、 解决实际问题的能力; 3、尝试将所学的内容解决实际工程问题,培养学生的工程实践能 3 / 9 力,提高工科学生的就业能力。 三三 、设计内容(包括主要的代码)、设计内容(包括主要的代码) 打开图像函数 (1)static char s
3、zFilter=“BMP文件(*.bmp)|*.bmp|“; CFileDialog dlg(TRUE,“bmp“,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,sz Filter); /定义过滤文件的类型 (2)int ret=dlg.DoModal(); /运行打开文件对方框 (3)filename=dlg.GetPathName(); /获取所选择图片的路径 (4)m_dib.LoadFromFile(filename); /加载图像 (5)Invalidate(1); /刷新屏幕 均衡化函数 4 / 9 (1)判断图片是否打开if(!m_dib.m
4、_bLoaded) AfxMessageBox(“ 图像还没打开,请先打开图像);(2)获取高度,宽度int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight(); lLineBytes = (nw * 8 + 31) / 32 * 4; /满足字节 的整数倍数 (3)统计频数lpSrc= m_dib.m_pdata lLineBytes * i + j;lCountlpSrc+ (4)定义全局变量保存频数用于画图for(i= 0; i LineTo()画坐标,箭头 (2) 提取最大的相数MAX用于调成高度,利用函数pDC-MoveTo()和 pDC-LineTo()画图; (3) LineTo() 函数Y坐标参数为 nh+400-(lCounti*300/max) 可 达到图像在指定范围内 四、详细分析、论证实验结果,并且总结实验方法四、详细分析、论证实验结果,并且总结实验方法 VS2010的直方图均衡化效果 6 / 9 Matlab中直方图效果 7 / 9 经过比较可以得出