图像处理基本算法-直方图均衡
理方法中也十分有用,比如图像压缩和分割。
基本的原理:
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
图像处理基本算法-直方图均衡相关推荐
- 三种常见的图像处理双三次插值算法
三种常见的图像处理双三次插值算法 双立方插值计算涉及16像素,间(i', j')像中的包括 小数部分的像素坐标.dx表示X方向的小数坐标.dy表示Y方向的小数坐标. 详细 能够看下图: 依据上述图示与 ...
- 视频教程-数字图像处理实战-算法基础
数字图像处理实战 河海大学计算机硕士毕业,现就职于南京华为研究所,从事嵌入式软件开发工作.热爱模式识别及机器学习算法. 金圣韬 ¥70.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+ ...
- 图像处理:分水岭算法(图像分割)
图像处理:分水岭算法(图像分割) 分水岭算法 分水岭算法是一种图像区域分割法,分割的过程中将图片转化为灰度图,然后我会将灰度值看作是海拔,然后向较低点注水,这种基于地形学的解释,我们着重考虑三种点: ...
- Python实现数字图像处理经典算法之256色转灰度图
算法介绍 256色转灰度图是数字图像处理经典算法中最简单的算法之一 1.彩色数字图像中的颜色有红.绿.蓝三种颜色混合而成,对应的像素颜色通道就是RGB(R,G,B),R.G.B数值共有256个数值,也 ...
- PACS/RIS医学影像管理系统源码 提供先进图像处理和算法
PACS(医学影像存档与通信系统)主要应用于医学影像的存储.传输和显示.它可以使医生突破胶片的局限,对病人的影像进行全方位的处理和观察,以便得出更准确的诊断.同时,PACS可以节省大量的胶片,降低成本 ...
- 图像处理基本算法 车牌识别与定位
图像处理基本算法 车牌识别与定位 标签: 图像处理 2013-02-20 22:35 4416人阅读 评论(1) 收藏 举报 分类: opencv(27) 版权声明:本文为博主原创文章, ...
- 数字图像处理:OpenCV直方图均衡算法研究及模拟实现
一.引言 在<数字图像处理:直方图均衡(Histogram Equalization)的原理及处理介绍 >(链接:https://blog.csdn.net/LaoYuanPython/a ...
- matlab 去高光,图像处理-去高光/直方图均衡
主要是根据文章"实时单幅图片高光去除算法"(篇一)和"Real-time Specular Highlight Removal Using a Single Image ...
- fpga图像处理------常用算法(二)
图像处理的常用算法: 畸变校正 List item Hue/Sat map 色相(3D LUT ) color manipulation 颜色处理(3D LUT) ae - 自动曝光统计 (支持统计选 ...
最新文章
- python中使用html前端页面显示图像预测结果(改进)
- 命令行mvn打包的时候报错:No compiler is provided in this environment. Perhaps you are running on a JRE
- js 控制展开折叠 div html dom
- Linux下php安装Redis扩展
- Python赋值、打包和解包,90%人不清楚的知识点!
- Spring Cloud Gateway 之获取请求体的几种方式
- nginx $mail-send()发送邮件报错_基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现...
- 2.6宽带接入技术ADSL
- redis 缓存模式
- python3 os模块使用_Python3-os模块-操作系统的各种接口
- 互联网协议 — ECMP 等价多路径路由
- c语言把金额转成大写,c语言 把数字转化为大写金额 请问我写的哪里有错误
- linux ps命令详细解读
- linux u盘启动制作教程,cdlinux u盘启动制作教程
- python utf 8 mac_Mac python 开发环境一些设置
- thinkphp6自定义日志驱动,增加显示全部请求信息
- 【杂七杂八】Dreamweaver在Surface高分辨率下工具栏字体和按钮太小的解决办法
- ISC 2022“护航数字山河·数据安全协同创新”高峰会:共议数据安全新方案
- PostgreSQL hint用法(兼容oracle)
- java服务器开发心得
热门文章
- 城市天气数据获取接口
- 安装库_python的库的安装
- 刚刚人均国民收入突破1万美元,作为打工人的你有感知吗?
- 1个报表工具,5大体系,60种可视化图表,靠这些打动领导就够了
- 图说可视化,报表也能做得如此酷炫!
- 一则故事表达:并发,并行,同步,异步,线程,多线程
- Vue父组件监听子组件调用删除模块(个性化页面设置会使用到)
- minus sql oracle,在T-SQL中实现Oracle的MINUS集合运算符
- htmlselect保留上次选择内容_搬家买什么工具,搬家有什么技巧,搬家选择什么公司?...
- python数据类型总结