用vc实现直方图均衡化

用vc实现直方图均衡化

ID:34783913

大小:173.68 KB

页数:9页

时间:2019-03-10

用vc实现直方图均衡化_第1页
用vc实现直方图均衡化_第2页
用vc实现直方图均衡化_第3页
用vc实现直方图均衡化_第4页
用vc实现直方图均衡化_第5页
资源描述:

《用vc实现直方图均衡化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用VC++实现直方图均衡化一试验目地:(1)、学会了解C++是使用;(2)、学会用C++解决图像处理问题(3)、学会使用C++实现直方图均衡化二、实验内容:用VC++实现直方图均衡化;三、实验步骤:1、首先建立一个工程。打开VC++6.0,单击文件【files】→新建【new】→工程【projects】在打开的projects下选择MFCAppWizard[exe]→在projectname下输入自己的工程名例如(Zhifangtujunhenghua)→单击【ok】→在打开的对话框中选择基于单

2、文档【singledocument】→在第四步“MFCAppWizardstep4of6”面板中删掉【隐藏工具栏】和【打印和打印预览】两个选项,之后的全部选择默认,单击finish,出现一个“NewProjectInformation”窗口,单击【ok】。一个简单的工程框架就建好了。2、现在我们正式开始在新建工程Zhifangtujunhenghua中进行编程实现bmp位图的直方图均衡化。点击左边框中的【ResourceView】框找到【Menu】点开,双击Menu下的图标,在右面的显示框中创建

3、两个菜单:打开ID:ID_FILE_OPEN直方图均衡化ID:ID_ZHIFANGTU显示原图ID:IDM_YUANTU3、给这两个菜单建立类向导。在右边的窗口中右击“打开”,选择“建立类向导”,然后在打开的对话框中操作,“Classname”选择“CZhifangtujunhenghuaView”→”ObjectIDs”中选择“ID_FILE_OPEN”→“Message”中选择“COMMAND”,点击“AddFunction”键就会在“Memberfunctions”中如下图1显示,然后点击

4、“EditCode”,在自动生成的OnFileOpen函数中编写代码:voidCZhifangtujunhenghuaView::OnFileOpen(){//TODO:AddyourcommandhandlercodehereCFileDialogfileDlg(true);fileDlg.m_ofn.lpstrTitle="图片打开对话框";fileDlg.m_ofn.lpstrFilter="BMPFiles(*.bmp)*.bmp";if(IDOK==fileDlg.DoMo

5、dal()){m_fileName.Format("%s",fileDlg.GetPathName());m_Dib.LoadFile(m_fileName);Invalidate();}}同理,操作“显示原图”:”Classname”选择“CShowpictureView”。点击“EditCode”,在自动生成的“OnYuantu”函数中编写代码:VoidCZhifangtujunhenghuaView::OnYuantu(){//TODO:Addyourcommandhandlercodeh

6、erem_Dib.LoadFile(m_fileName);Invalidate();}4、同理,操作“直方图均衡化”选择“CZhifangtujunhenghuaView”。点击“EditCode”,在自动生成的“OnZhifangtu”函数中编写代码:voidCZhifangtujunhenghuaView::OnZhifangtu(){//TODO:Addyourcommandhandlercodehereif(m_Dib.IsValid()){m_Dib.fenbujunhenghua(

7、);Invalidate();}}5、创建一个处理位图的类CDib,且CDib类是由CObject类派生出来的。点击工程菜单栏中的插入【insert】→【insertclass】→类类型选“GenericClass”,→类名称填“CDib”→【ok】。可以看见工程窗口的ClassView中多了一个CDib类;点开CDib类的头文件,输入以下代码,注意变量可以直接复制,声明的函数不要直接复制(在CDib类右击选择“Addmemberfunction”,输入函数类型和函数名)。classCDib:p

8、ublicCObject{public:RGBQUAD*m_pRGB;BYTE*m_pData;UINTm_numberOfColors;boolm_valid;BITMAPFILEHEADERbitmapFileHeader;//定义了一个文件头结构体的对象BITMAPINFOHEADER*m_pBitmapInfoHeader;//定义了一个指向信息头的结构体指针BITMAPINFO*m_pBitmapInfo;//定义了一个结构体指针,BITMAPINFO是一个包含有信息头,和调色板的BY

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

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

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