【数字图像处理之二】图像直方图均衡化
来源:互联网 发布:视频行为分析算法 编辑:程序博客网 时间:2024/04/27 13:07
直方图均衡化的作用是,让图像中比较暗或亮的地方变得清晰。
直方图均衡化步骤:
① 统计图像中0~255各灰度级的个数,记录进一个数组里面。
② 计算各灰度级的个数占总个数的百分比
③ 然后 f(n+1) = f(1)+f(2)+……+f(n) n ← 1 to n-1
④ 然后所有分数乘以255,下取整
④ ⑤ 最后把原图像的数字替换成计算后的数字。
<span style="white-space:pre"></span>double Histogram[256];//建立一个直方图数组double hs[256];double sum=0;/** * 图像未经处理的时候 */memset(Histogram,0,sizeof(Histogram));int i,j,k;for(j=-1;++j<hImage;){for(k=-1;++k<wImage;){Histogram[(int)Imagebyte[j][k].R]++;}}/** * 输出直方图 */ShowProcessing(Histogram,50,100);/** * 显示处理前的图像 */ShowImage(340,0);/** * 对直方图进行均衡化 */i=0;hs[i]=Histogram[i]/(hImage*wImage);//第一位算出百分比sum+=hs[i];//加第一个百分比for(;++i<256;){//from 1 upto 255hs[i]=Histogram[i]/(double)(hImage*wImage);//第二位及以后算出百分比sum+=hs[i];//从第二位不停地累加hs[i]=sum;//将累加值赋给指定位置}/** * 图像新值 等于 百分比*255 */for(i=-1;++i<hImage;){for(j=-1;++j<wImage;){Imagebyte[i][j].R=Imagebyte[i][j].G=Imagebyte[i][j].B=hs[Imagebyte[i][j].R]*255;Imagebyte[i][j].RC=Imagebyte[i][j].BC=Imagebyte[i][j].GC=255-Imagebyte[i][j].R;}}/** * 图像经过处理后 */memset(Histogram,0,sizeof(Histogram));for(j=-1;++j<hImage;){for(k=-1;++k<wImage;){Histogram[(int)Imagebyte[j][k].R]++;}}/** * 输出直方图 */ShowProcessing(Histogram,50,370);/** * 显示处理过后的图像 */ShowImage(340,hImage);
直方图均衡化前后对比
0 0
- 【数字图像处理之二】图像直方图均衡化
- 数字图像处理之彩色图像的直方图均衡化
- 数字图像处理之直方图均衡化
- 数字图像处理之直方图均衡化(Octave)
- 数字图像处理之--灰度直方图均衡化
- 【数字图像处理】图像可视化对数增强 直方图及其均衡化
- 数字图像处理--直方图均衡化
- 数字图像处理-----直方图均衡化
- 数字图像处理之图像直方图
- 数字图像处理之二直方图规定化
- 图像处理(二)直方图均衡化
- 图像处理之直方图均衡化
- 图像处理之(直方图)均衡化
- 图像处理之直方图均衡化
- 图像处理之直方图均衡化
- 图像处理之直方图均衡化
- 【数字图像处理】直方图均衡
- 数字图像处理之灰度图的直方图均衡化
- 密码学基础知识(五)序列密码
- 打星星游戏
- 图片展示(手动左右切换)
- 文件ha开发的问题,及解决方法
- java细节总结
- 【数字图像处理之二】图像直方图均衡化
- Sql Server 存储过程可选参数
- Android Studio添加库的方式
- 算术表达式
- Openstack NUMA分析与使用
- GNS Animator4 v2.1.2 Win64 & Linux64 2CD有限元非线性动力计算
- 机器学习算法与Python实践之 k均值聚类(k-means)
- holmes查bug过程总结
- JAVA多态学习1