- 2
- 0
- 约7.76千字
- 约 9页
- 2021-07-10 发布于湖南
- 举报
直方图均衡化
用VC++实现位图直方图均衡化和显示
1、首先建立一个工程。打开VC++6.0,单击 文件【files 】→新建【new 】→工程【projects 】在打开的projects 下选择MFC App Wizard [exe]→在project name 下输入自己的工程名例如(Zhifangtujunhenghua )→单击【ok 】→在打开的对话框中选择基于单文档【single document】→在第四步 “MFC App Wizard step 4 of 6”面板中删掉【隐藏工具栏】和【打印和打印预览】两个选项,之后的全部选择默认,单击finish ,出现一个“New Project Information”窗口,单击【ok 】。一个简单的工程框架就建好了。
2、现在我们正式开始在新建工程Zhifangtujunhenghua 中进行编程实现bmp 位图的直方图均衡化。点击左边框中的【ResourceView 】框找到【Menu 】点开,双击Menu 下的图标,在右面的显示框中创建两个菜单:
打开 ID: ID_FILE_OPEN
直方图均衡化 ID : ID_ZHIFANGTU
3、给这两个菜单建立类向导。在右边的窗口中右击“打开”,选择“建立类向导”,然后在打开的对话框中按下图1操作,“Class name”选择“CZhifangtujunhenghuaView ” →”Object IDs”中选择
“ID_FILE_OPEN” →“Message ”中选择“COMMAND ”, 点击“Add Function ”键就会在“Member functions”中如下图1显示,然后点击“Edit Code”,在自动生成的OnFileOpen 函数中编写代码:
void CZhifangtujunhenghuaView::OnFileOpen()
// TODO: Add your command handler code here
CFileDialog fileDlg(true);
fileDlg.m_ofn.lpstrTitle=图片打开对话框;
fileDlg.m_ofn.lpstrFilter=BMP Files(*.bmp)\0*.bmp\0\0;
if(IDOK==fileDlg.DoModal())
m_fileName.Format (%s,fileDlg.GetPathName());
m_Dib.LoadFile(m_fileName);
Invalidate();
同理,操作“直方图均衡化” ,如下图2显示
选择“CZhifangtujunhenghuaView ”。点击“Edit Code”,在自动生成的“OnZhifangtu ”
函数中编写代码:
void CZhifangtujunhenghuaView::OnZhifangtu()
// TODO: Add your command handler code here
if (m_Dib.IsValid())
m_Dib.fenbujunhenghua();
Invalidate();
}4、创建一个处理位图的类CDib ,且CDib 类是由CObject 类派生出来的。点击工程菜单栏中的插入【insert 】→【insert class】→类类型选“Generic Class”, →类名称填“CDib ” →【ok 】。可以看见工程窗口的Class View 中多了一个 CDib 类;点开CDib 类的头文件,输
入以下代码,注意变量可以直接复制,声明的函数不要直接复制(在CDib 类右击选择“Add member function”,输入函数类型和函数名)。 class CDib: public CObject
public:
RGBQUAD * m_pRGB;
BYTE * m_pData;
UINT m_numberOfColors;
bool m_valid;
BITMAPFILEHEADER bitmapFileHeader;//定义了一个文件头结构体的对象
BITMAPINFOHEADER * m_pBitmapInfoHeader;//定义了一个指向信息头的结构体指针 BITMAPINFO * m_pBitmapInfo;//定义了一个结构体指针,BITMAPINFO 是一个包含有信息头,和调色板的
BYTE * pDib;
DWORD
您可能关注的文档
- 读 公务员法 内容体会.docx
- 写一篇学习小结.docx
- 8种陈列技巧提高饰品店面销售额.docx
- 公安局财务工作总结.docx
- 2021年税收工作总结.docx
- 沁之矿泉水广告策划.docx
- 写给毕业生的话.docx
- 技术入股协议书.docx
- 前台文员个人年度总结.docx
- 清华大学超低能耗楼设计理念介绍.docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 2025年自来水供应专属承包合同样本版.docx VIP
- 2022化工安全与环保第二版课后题答案最新版(完整版).docx VIP
- ASUS华硕主板大师系列Z97-A 用户使用手册 (繁体中文).pdf
- 智能金融:AI 驱动的金融变革.pptx
- 人工智能在心血管无创影像中的应用:前沿技术与临床价值.pdf VIP
- 2025年氢燃料电池在数据中心储能应用趋势.docx
- 2026年中国铁路上海局集团有限公司招聘普通高校毕业生1236人备考题库及答案详解(考点梳理).docx VIP
- 井工煤矿复工复产开工第一课教案.docx VIP
- 社区居务监督培训课件.ppt VIP
- 心灵终结单位全代码.doc VIP
原创力文档

文档评论(0)