VC 数字图像处理实验(VC 单文档)(8)

2019-04-01 17:43

(5) 于“Message Maps”选项页,在“Object IDs”列表框的最后选中“IDOK”,然后在“Messages”列表框中选中“BN_CLICKED”,双击,将建立起“确定”按钮对应的消息映射函数。

(6) 切换至“Member Variables”选项页,在“Control IDs”列表框中选中“IDC_EDIT_LIGHT_D”,双击,在Member Variables Name中输入“m_LightD”,在Cagetory中选中“Value”,在Variable type中选中“int”;点击OK。在Minimum Value中输入“-100”,在Maximum Value中输入“100”。点击“确定”按钮。

3. 建立菜单

切换到“ResourceView”选项页,展开“DIPJQ resources”,展开“Menu”,双击“IDR_MAINFRAME”,对菜单进行编辑。

双击最后的空白顶层菜单,在标明编辑框中输入“颜色处理”,选中“弹出”。将该菜单拖至“查看”之后。

点击菜单“颜色处理”,双击下部空白菜单项,打开“菜单项目 属性”对话框,在ID下拉列表框中输入“ID_PROC_LIGHT”,在标明编辑框中输入“调整亮度…”,在提示编辑框中输入“调整亮度\\n亮度”。关闭对话框。

4. 建立消息映射函数

在CDIPJQDoc类中建立“调整亮度”菜单项的消息映射函数:

点击菜单“查看—>建立类向导”,在“Class Name”下拉框中选中“CDIPJQDoc”,在“Object IDs”列表框中选中“ID_PROC_LIGHT”,然后在“Message”列表框中双击“COMMAND”。

5. 在消息映射函数中添加调用代码

打开DIPJQDoc.cpp文件,在文件首部已有的#include语句之后添加一行: #include \#include \#include \

在OnProcLight()函数中加入如下代码:

void CDIPJQDoc::OnProcLight() { // TODO: Add your command handler code here CDlgLight dlg; if( dlg.DoModal()==IDOK ) { LImageProc lip; lip.m_pSrcImg = m_pCurImage; lip.m_pDestImg = m_pLastImage; float d = dlg.m_LightD/100.0; if( lip.ModifyLight(d) ) { LImage *p = m_pCurImage; m_pCurImage = m_pLastImage; m_pLastImage = p; UpdateAllViews(NULL); SetPathName(\ \ } } }

注:在之后其它的消息映射函数中,加粗的三行代码将因处理功能的不同而改变,其它各行代码

则保持不变。

6. 组建程序,运行测试

组建执行文件,排除错误,对亮度调整功能进行运行测试。在对图像进行了一次亮度调整后,可点击工具栏上的撤消按钮,将图像恢复为处理前的状态。

(二) 对比度处理

1. 在图像处理类中实现对比度处理功能

在SDImageProc.h文件中加入对比度处理函数的定义:

在LImageProc.h文件中加入对比度处理函数的定义: BOOL ImageIsValid(); //源和目标图象是否有效 BOOL ModifyLight(float d); //亮度调整,-1~1

BOOL ModifyContrast(float d); //对比度调整,-1~1

在LImageProc.cpp文件的最后,添加对比度处理函数的实现代码,如下: BOOL LImageProc:: ModifyContrast(float d) //对比度调整,-1~1 { }

if( !ImageIsValid() ) return FALSE;

m_pDestImg->Create(m_pSrcImg->m_Width, m_pSrcImg->m_Height); BYTE *sd = m_pSrcImg->m_pBits; BYTE *dd = m_pDestImg->m_pBits;

//中间部分请参照前面的亮度处理函数自行写出 return TRUE;

2. 建立对比度对话框,用于对比度调整参数的的输入

建立对比度对话框。对话框ID设为“IDD_DIALOG_CONTRAST”,对话框标题设为“对比度调整参数”;编辑框的ID设为“IDD_EDIT_CONTRAST_D”;(Ctrl+w)对话框类的名称取为“CDlgContrast”;调整参数的变量名取为“m_ContrastD”。


VC 数字图像处理实验(VC 单文档)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:牛津初中英语8B - Unit6 - A - charity - walk学习案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: