直方图是多种空间处理技术的基础,可以用于图像增强。同时在其他的处

理方法中也十分有用,比如图像压缩和分割。
基本的原理:
Ni = 255*(N0 + N1 + N2 +……Ni)/(width*height)
程序流程:
1、统计各个像素值的个数
2、建立映射表

3、赋予新值

处理后图像:

源代码:

#include<cv.h>
#include<highgui.h>int main(){IplImage * image;image = cvLoadImage("E:\\image\\pollen.jpg",0);cvNamedWindow("image",CV_WINDOW_AUTOSIZE);//cvSaveImage("E:\\image\\pollen.jpg",image,0);cvShowImage("image",image);cvWaitKey(0);unsigned char * ptr;int count[256] = {0};//灰度值的个数int map[256];//灰度映射表int temp;if(image->nChannels == 3){return 0;}else if(image->nChannels == 1){//统计各个灰度值的个数for(int i = 0 ; i < image->height;i++){for(int j = 0; j< image->width;j++){ptr = (unsigned char *)image->imageData + i*image->widthStep + j; count[*ptr]++;}}//建立映射表for(int m = 0 ; m< 256 ; m++){temp = 0;for(int n = 0 ; n<= m ;n++){temp += count[n];}map[m] = (unsigned char)(temp * 255/image->width/image->height);}//给图片赋予新值for(int i = 0 ; i < image->height;i++){ for(int j = 0; j< image->width;j++){ptr = (unsigned char *)image->imageData + i*image->widthStep +j;*ptr = map[*ptr];}}}cvShowImage("image",image);cvWaitKey(0);cvSaveImage("E:\\image\\pollen2.jpg",image,0);return 0;
}

转载于:https://www.cnblogs.com/libing64/archive/2011/12/13/2878739.html

图像处理基本算法-直方图均衡相关推荐

  1. 三种常见的图像处理双三次插值算法

    三种常见的图像处理双三次插值算法 双立方插值计算涉及16像素,间(i', j')像中的包括 小数部分的像素坐标.dx表示X方向的小数坐标.dy表示Y方向的小数坐标. 详细 能够看下图: 依据上述图示与 ...

  2. 视频教程-数字图像处理实战-算法基础

    数字图像处理实战 河海大学计算机硕士毕业,现就职于南京华为研究所,从事嵌入式软件开发工作.热爱模式识别及机器学习算法. 金圣韬 ¥70.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+ ...

  3. 图像处理:分水岭算法(图像分割)

    图像处理:分水岭算法(图像分割) 分水岭算法 分水岭算法是一种图像区域分割法,分割的过程中将图片转化为灰度图,然后我会将灰度值看作是海拔,然后向较低点注水,这种基于地形学的解释,我们着重考虑三种点: ...

  4. Python实现数字图像处理经典算法之256色转灰度图

    算法介绍 256色转灰度图是数字图像处理经典算法中最简单的算法之一 1.彩色数字图像中的颜色有红.绿.蓝三种颜色混合而成,对应的像素颜色通道就是RGB(R,G,B),R.G.B数值共有256个数值,也 ...

  5. PACS/RIS医学影像管理系统源码 提供先进图像处理和算法

    PACS(医学影像存档与通信系统)主要应用于医学影像的存储.传输和显示.它可以使医生突破胶片的局限,对病人的影像进行全方位的处理和观察,以便得出更准确的诊断.同时,PACS可以节省大量的胶片,降低成本 ...

  6. 图像处理基本算法 车牌识别与定位

    图像处理基本算法 车牌识别与定位 标签: 图像处理 2013-02-20 22:35  4416人阅读  评论(1)  收藏  举报   分类: opencv(27)  版权声明:本文为博主原创文章, ...

  7. 数字图像处理:OpenCV直方图均衡算法研究及模拟实现

    一.引言 在<数字图像处理:直方图均衡(Histogram Equalization)的原理及处理介绍 >(链接:https://blog.csdn.net/LaoYuanPython/a ...

  8. matlab 去高光,图像处理-去高光/直方图均衡

    主要是根据文章"实时单幅图片高光去除算法"(篇一)和"Real-time Specular Highlight Removal Using a Single Image ...

  9. fpga图像处理------常用算法(二)

    图像处理的常用算法: 畸变校正 List item Hue/Sat map 色相(3D LUT ) color manipulation 颜色处理(3D LUT) ae - 自动曝光统计 (支持统计选 ...

最新文章

  1. python中使用html前端页面显示图像预测结果(改进)
  2. 命令行mvn打包的时候报错:No compiler is provided in this environment. Perhaps you are running on a JRE
  3. js 控制展开折叠 div html dom
  4. Linux下php安装Redis扩展
  5. Python赋值、打包和解包,90%人不清楚的知识点!
  6. Spring Cloud Gateway 之获取请求体的几种方式
  7. nginx $mail-send()发送邮件报错_基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现...
  8. 2.6宽带接入技术ADSL
  9. redis 缓存模式
  10. python3 os模块使用_Python3-os模块-操作系统的各种接口
  11. 互联网协议 — ECMP 等价多路径路由
  12. c语言把金额转成大写,c语言 把数字转化为大写金额 请问我写的哪里有错误
  13. linux ps命令详细解读
  14. linux u盘启动制作教程,cdlinux u盘启动制作教程
  15. python utf 8 mac_Mac python 开发环境一些设置
  16. thinkphp6自定义日志驱动,增加显示全部请求信息
  17. 【杂七杂八】Dreamweaver在Surface高分辨率下工具栏字体和按钮太小的解决办法
  18. ISC 2022“护航数字山河·数据安全协同创新”高峰会:共议数据安全新方案
  19. PostgreSQL hint用法(兼容oracle)
  20. java服务器开发心得

热门文章

  1. 城市天气数据获取接口
  2. 安装库_python的库的安装
  3. 刚刚人均国民收入突破1万美元,作为打工人的你有感知吗?
  4. 1个报表工具,5大体系,60种可视化图表,靠这些打动领导就够了
  5. 图说可视化,报表也能做得如此酷炫!
  6. 一则故事表达:并发,并行,同步,异步,线程,多线程
  7. Vue父组件监听子组件调用删除模块(个性化页面设置会使用到)
  8. minus sql oracle,在T-SQL中实现Oracle的MINUS集合运算符
  9. htmlselect保留上次选择内容_搬家买什么工具,搬家有什么技巧,搬家选择什么公司?...
  10. python数据类型总结