ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:42.10KB ,
资源ID:2374781      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2374781.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Visual C++实践与提高数字图像处理与工程应用篇》第三章学习笔记.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《Visual C++实践与提高数字图像处理与工程应用篇》第三章学习笔记.docx

1、Visual C+实践与提高数字图像处理与工程应用篇第三章学习笔记第三章 图像增强线性灰度变换/* * 函数名称: * GrayLinTrans() * 输入参数: * LPSTR lpDIBBits /指向源图像的像素指针 * LONG lmageWidth /源图像的宽度 * LONG lmageHeight / 源图像的高度 * int oralow / 原始图像的灰度值集中区域低值 * int orahig / 原始图像的灰度值集中区域高值 * int newlow / 变换后图像灰度的动态范围低值 * int newhig / 变换后图像灰度的动态范围高值 * 返回值: * BOOL

2、 / 成功返回TRUE,否则返回FALSE。 * 说明: * 该函数用来对图像指定的灰度分布进行灰度变换主要用来实现灰度分布的扩展*/BOOL GrayLinTrans(LPSTR lpDIBBits, LONG lmageWidth, LONG lmageHeight,int oralow, int orahig, int newlow, int newhig) unsigned char* lpSrc; / 指向源图像的指针 int i; / 循环变量 int j; / 循环变量 BYTE byMap256; / 定义灰度映射表 for (i = 0; i 0) /判断新灰度级是否大于0

3、byMapi = newlow; /赋予新值 else byMapi = 0; /直接赋值为0 for (; i = orahig; i+) if (orahig != oralow) / 判断orahig是否等于oralow(防止 /分母为0) /线性变换 byMapi = newlow + (BYTE) (newhig - newlow) * (i - oralow) / (orahig - oralow); else byMapi = newlow; /直接赋值为newlow for (; i newhig; i+) if (newhig = 255) /判断d是否大于255 byMap

4、i = newhig; /直接赋值为newhig else byMapi = 255; /直接赋值为255 for(i = 0; i lmageHeight; i+) /对图像的每个像素值进行变换 for(j = 0; j GetHObject(); / 锁定DIB lpDIBBits = pDoc-m_dib.GetBits(lpDIB); / 找到DIB图像象素起始位置 if (pDoc-m_dib.GetColorNum(lpDIB) != 256) / 判断是否是256色位图 MessageBox(目前只支持256色位图!, 系统提示 , MB_ICONINFORMATION | MB

5、_OK); / 如果不是,提示用户 :GlobalUnlock(HGLOBAL) pDoc-GetHObject(); / 解除锁定 return; / 返回 CGrayEnhance gray; /重载灰度变换对话框类 if (gray.DoModal() != IDOK) / 显示对话框,提示用户设定参数 return; / 返回 /定义四个变量用于存贮对话框设置的参数 int newhig; /新灰度上限 int newlow; /新灰度下限 int orahig; /旧灰度上限 int oralow; /旧灰度下限 newhig=gray.m_newhig; / 获取用户设定的参数 n

6、ewlow=gray.m_newlow; / 获取用户设定的参数 orahig=gray.m_orahig; / 获取用户设定的参数 oralow=gray.m_oralow; / 获取用户设定的参数 delete gray; / 删除对话框 BeginWaitCursor(); / 更改光标形状 / 调用GrayLinTrans()函数进行灰度变换 GrayLinTrans(lpDIBBits,pDoc-m_dib.GetWidth(lpDIB),pDoc-m_dib.GetHeight(lpDIB),oralow, orahig, newlow, newhig); pDoc-SetModi

7、fiedFlag(TRUE); / 图像已经处理,设置脏标记 pDoc-UpdateAllViews(NULL); / 更新视图 EndWaitCursor(); / 恢复光标 直方图均衡化/* 函数名称: * GrayHistEnhance()* 输入参数: * LPSTR lpDIBBits /指向源图像的像素指针 * LONG lmageWidth /源图像的宽度 * LONG lmageHeight /源图像的高度 * 返回值: * BOOL /成功则返回TRUE,否则返回FALSE * 说明: * 该函数对指定的图像进行直方图均衡化处理*/ BOOL GrayHistEnhance(

8、LPSTR lpDIBBits, LONG lmageWidth, LONG lmageHeight) unsigned char* lpSrc; /指向源图像的指针 int nTemp; /临时变量 int j; /循环变量 int i; /循环变量 BYTE byMap256; /累积直方图,即灰度映射表 int nCount256; /直方图 for (i = 0; i 256; i +) /重置计数为0 nCounti = 0; /清零 for(i = 0; i lmageHeight; i+) /每行 for(j = 0; j lmageWidth; j+) /每列 / 指向DIB第

9、i行,第j个象素的指针 lpSrc = (unsigned char*)lpDIBBits + lmageWidth * (lmageHeight - 1 - i) + j; nCount*(lpSrc)+; /计数加1 for (i = 0; i 256; i+) /计算累积直方图 nTemp = 0; /初始为0 for (j = 0; j = i ; j+) nTemp += nCountj; byMapi = (BYTE) (nTemp * 255 / lmageHeight / lmageWidth); /计算对应的新灰度值/说明:* 255实际上就是将新的灰度值也转换为0255的范

10、围。 for(i = 0; i lmageHeight; i+) for(j = 0; j lmageWidth; j+) /每列 /指向DIB第i行,第j个象素的指针 lpSrc = (unsigned char*)lpDIBBits + lmageWidth * (lmageHeight - 1 - i) + j; *lpSrc = byMap*lpSrc; /计算新的灰度值 return TRUE; /返回 该函数调用函数CDImagePorcess View视图类的OnHistEnhance()。void CDImageProcessView: OnHistEnhance() CDImageProcessDoc* pDoc = GetDocument(); / 获取当前文档 LPSTR lpDIB; / 指向当前DIB的指针 LPSTR lpDIBBits; / 指向当前

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1