没有合适的资源?快使用搜索试试~ 我知道了~
直方图均衡化 图像处理程序的设计vc++.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 147 浏览量
2021-12-07
10:27:16
上传
评论
收藏 61KB DOC 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/57572063/0001-fe7d0a0d6c5c1dd0ed7191fbc924f999_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
14页
直方图均衡化 图像处理程序的设计vc++.doc
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/57572063/bg1.jpg)
目录
图像直方图均衡化设计…………………………………………………
设计要求………………………………………………………………
基本原理………………………………………………………………
设计方案与实现功能…………………………………………………
实现步骤…………………………………………………………………
部分主要程序代码………………………………………………………
运行结果与分析…………………………………………………………
心得体会…………………………………………………………………
6参考文献…………………………………………………………………
图像直方图均衡化设计
设计要求
要求用 实现如下功能:
〔〕建立一个单文档的应用项目。
〔〕在主框架添加菜单图像处理并在此菜单下添加如下子菜单显示原图像、显
示原图像的直方图、图像直方图均衡化、显示均衡化处理后的直方图。
〔〕实现显示原图像功能并以对话框的形式显示。
〔〕实现显示原图像直方图功能并以对话框的形式显示。
〔〕实现图像直方图均衡化功能、实现显示均衡化处理后的直方图功能并以对
话框的形式显示。
基本原理
图像的直方图包含了丰富的图像信息描述了图像的灰度级内容反映了图像的灰度分布
情况。图像直方图是图像处理中一种十分重要的图像分析工具具有简单实用的特点通过
对图像的灰度值进行统计可以得到一个一维离散的图像灰度统计、直方图函数。
![](https://csdnimg.cn/release/download_crawler_static/57572063/bg2.jpg)
.
直方图均衡化
图像对比度增强的方法可以分成两类一类是直接对比度增强方法另一类是间接对
比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直
方图拉伸是通过对比度拉伸对直方图进行调整从而扩大前景和背景灰度的差别以达
到增强对比度的目的这种方法可以利用线性或非线性的方法来实现直方图均衡化则通
过使用累积函数对灰度值进行调整以实现对比度的增强。
直方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰
度区间变成在全部灰度 围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸
重新分配图像像素值使一定灰度 围内的像素数量大致相同。直方图均衡化就是把给
定图像的直方图分布改变成均匀分布直方图分布。
缺点:
〕变换后图像的灰度级减少某些细节消失;
〕某些图像如直方图有高峰经处理后对比度不自然的过分增强。
直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。
这种方法通常用来增加许多图像的局部对比度尤其是当图像的有用数据的对比度相当
接近的时候。通过这种方法亮度可以更好地在直方图上分布。这样就可以用于增强局
部的对比度而不影响整体的对比度直方图均衡化通过有效地扩展常用的亮度来实现这
种功能。
这种方法对于背景和前景都太亮或者太暗的图像非常有用这种方法尤其是可以带
来 光图像中更好的骨骼结构显示以与曝光过度或者曝光不足照片中更好的细节。这
种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作如果已知均衡化函
数那么就可以恢复原始的直方图并且计算量也不大。这种方法的一个缺点是它对处理
的数据不加选择它可能会增加背景杂讯的对比度并且降低有用信号的对比度。
直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式这样就增加
了象素灰度值的动态 围从而可达到增强图像整体对比度的效果。设原始图像在
处的灰度为 而改变后的图像为 则对图像增强的方法可表述为将在处
的灰度 映射为 。在灰度直方图均衡化处理中对图像的映射函数可定义为
这个映射函数 必须满足两个条件其中 为图像的灰度级数
在 围内是一个单值单增函数。这是为了保证增强处理没
有打乱原始图像的灰度排列次序原图各灰度级在变换后仍保持从黑到白或从白到黑
的排列。
对于 有 这个条件保证了变换前后灰度值动态 围的一
致性。
累积分布函数 !"#$%&#'"(#)"#*++"#*+,-即可以满足上述两个条件
并且通过该函数可以完成将原图像 的分布转换成 的均匀分布。此时的直方图均衡
化映射函数为
..+#/+01
.22
上述求和区间为 到 .根据该方程可以由源图像的各像素灰度值直接得到直方图
均衡化后各像素的灰度值。在实际处理变换时一般先对原始图像的灰度情况进行统计
分析并计算出原始直方图分布然后根据计算出的累计直方图分布求出 . 到 . 的灰度
映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后按
照这个映射关系对源图像各点像素进行灰度转换即可完成对源图的直方图均衡化。
设计方案与实现功能
.
![](https://csdnimg.cn/release/download_crawler_static/57572063/bg3.jpg)
.
利用 #'! 中提供的 3- 框架设计一个简单的应用程序框架具有图像显示图
像直方图均衡直方图均衡后图像等菜单栏再利用 具有面向对象程序设计的性质编
写程序代码实现 3- 框架中对应菜单栏中的图像处理的功能即可得到一个简易的图像处
理系统达到课程考核题目的要求。
本次课程考核设计了一个简单的图片处理系统主要具有以对话框的形式显示原始图
片)0 格式、显示原图像的直方图、图像直方图均衡化、显示均衡化处理后的直方
图的功能。
实现步骤
步骤 :创建单文档应用项目
启动 新建——工程——3-4556#7!(&8%%9定义工程名称 确定在选择单文档
模式完成实现出单文档项目的建立。
步骤 :主框架菜单的添加
在 的工作空间下方点 :%'*(%' 找到 资源目录从中看到 3%+ 菜单项点击
打开。然后看到主框架双击一项或查看属性在标明里面可以修改显示字符。按此次设计
要求在主框架一项上修改为图像处理在其弹出打上勾在弹出框里一次编辑显示原图
像、显示直方图、显示均衡化后直方图、显示直方图均衡化后的图像。;, 定义留
到依次设计此 *!+& 功能的定义以防弄混。
实现主框架菜单的添加。
步骤 :<35 图像的打开
在主框架菜单第一项中系统有一默认的文件其下拉框有打开对其进行类向导选择
在 $#%= 下可观察到工作空间的 !''$#%= 中的 $#%= 下会出现 >?-# %>0%+&
的类由于应用 >+5!#+"此时在 $#%= 出点右键4&&=#+&*='3%'''!%'@!+&%(
A然后选择 63B54;?C添加 >+0!#+"此时可对 >?-# %>0%+ 和 >+0!#+" 写入代码实
现 <35 图像文件的打开。
在完成写入代码的操作以后需将 "** ' 这一工具函数文件的、引入到工程中先将
"** '00 与 "** D 粘贴进入工程目录下然后在工作空间中选择 -# %#%= 一栏分别在
E*(%'-# % 和 @%!&%(-# % 下添加 00 和 D 文件。完成 "** ' 的添加。此时需注意在程
序开头打入 #+ &%"** 'D
从而实现图像 <35 文件的打开。
步骤 :显示原图像的功能实现
在 3%+ 中找到显示原图像这一 *!+&首先定义 ;, 为 ;,B;4?BE@;对其建立
类向导如 -# %>0%+。然后再其中写入代码。先可用 3%''!%<*〔*.〕进行操作检
验。成功后建立 & 在 :%'*(%' 中 ,#! * 里插入对话框。将属性中标题改为显示原
图并建立类向导生成新的 !''定义名为 #!+ED#在其中添加 >+5!#+">+;+#",# *
此时对 $#%= 下的 >+#!+ED# 和 #!+ED# 下的 *+5!#+"和 *+;+#"&,! * 分别写入
代码实现原图像的显示功能。
步骤 :原图直方图的显示
操作步骤如同步骤四详细见后续代码。
步骤 F:均衡化后的直方图显示
操作步骤如同步骤四详细见后续代码。
步骤 G:显示均衡化之后的图像
操作步骤如同步骤四详细见后续代码。
部分主要程序代码
.
剩余13页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
yunxidzh
- 粉丝: 60
- 资源: 30万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 10Eclipse项目源码.jpg
- 大屏可视化数据课程项目
- Maven 快速入门指南:安装和配置方法详解
- STM32物信息通过MQTT协议上传云平台
- STM32物信息通过MQTT协议上传云平台
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6260.0)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6259.0)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6258.0)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6257.0)
- Screenshot_2024_0614_022736.png
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)