[code]彩色图像直方图均衡化 histogram_rgb
//2013.9 eageldiao
#ifdef HISTOGRAM_RGB
unsigned int lut[];
unsigned intncount[]={},ncount1[]={},ncount2[]={};
int nTemp;
//b
for(y=;yheight;y++)
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;xwidth;x++)
{
ncount[srcrow[*x]]++; //统计灰度级数量
}
}
for (int i=;i<;i++)
{
nTemp=;
for (int j=;j<=i;j++)
{
nTemp+=ncount[j];
}
lut[i]=nTemp*/src->width/src->height;//确定变换函数
}
for(y=;yheight;y++) //均衡化
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;xwidth;x++)
{
srcrow[*x]=lut[srcrow[*x]];
}
}
//g
for(y=;yheight;y++) //统计灰度级 数量
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;xwidth;x++)
{
ncount1[srcrow[*x+]]++;
}
} for (int i=;i<;i++)
{
nTemp=;
for (int j=;j<=i;j++)
{
nTemp+=ncount1[j];
}
lut[i]=nTemp*/src->width/src->height; //确定变换函数
} for(y=;yheight;y++) //均衡化
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;xwidth;x++)
{
srcrow[*x+]=lut[srcrow[*x+]];
}
} //r
for(y=;yheight;y++) //统计灰度级 数量
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;xwidth;x++)
{
ncount2[srcrow[*x+]]++;
}
}
for (int i=;i<;i++)
{
nTemp=;
for (int j=;j<=i;j++)
{
nTemp+=ncount2[j];
}
lut[i]=nTemp*/src->width/src->height;//确定变换函数
}
for(y=;yheight;y++) //均衡化
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;xwidth;x++)
{
srcrow[*x+]=lut[srcrow[*x+]];
}
}
#endif
[code]彩色图像直方图均衡化 histogram_rgb的更多相关文章
- 彩色图像的直方图均衡化matlab代码
彩色图像的直方图均衡化 - YangYudong2014的专栏 - CSDN博客 http://blog.csdn.net/yangyudong2014/article/details/4051503 ...
- 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
我们来看一个灰度图像,让表示灰度出现的次数,这样图像中灰度为 的像素的出现概率是 是图像中全部的灰度数, 是图像中全部的像素数, 实际上是图像的直方图,归一化到 . 把 作为相应于 的累计概率 ...
- 灰度图像--图像增强 直方图均衡化(Histogram equalization)
灰度图像--图像增强 直方图均衡化(Histogram equalization) 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些 ...
- OpenCV-跟我一起学数字图像处理之直方图均衡化
从这篇博文开始,小生正式从一个毫不相干专业转投数字图像处理.废话不多说了,talk is cheap. show me the code. 直方图均衡化目的 由于一些图像灰度的分布过于集中,这样会导致 ...
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
http://blog.csdn.net/dcrmg/article/details/53677739 1. 基于直方图均衡化的图像增强 直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶 ...
- matlab 直方图均衡化(含rgb)
步骤: 统计原图像素每个像素的个数 统计原图像<每个灰度级的像素的累积个数 家里灰度级得映射规则 将原图每个像素点的灰度映射到新图 代码: clear all I=imread('1.jpg') ...
- 对比度受限的自适应直方图均衡化(CLAHE)
直方图均衡化(HE)是一种很常用的直方图类方法,基本思想是通过图像的灰度分布直方图确定一条映射曲线,用来对图像进行灰度变换,以达到提高图像 对比度的目的.该映射曲线其实就是图像的累计分布直方图(CDF ...
- OpenCV计算机视觉学习(9)——图像直方图 & 直方图均衡化
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 1, ...
- 图解直方图均衡化及其Python实现
在理解直方图均衡化的过程中,参考了一些书籍和博客,让人困惑的是,笔者对于直方图的理解还是停留在表面,并没有深入理解其内涵.因此,本文拟结合图片对直方图的概念进行阐述,并给出其Python实现,最后对她 ...
随机推荐
- VS2010-MFC(常用控件:列表视图控件List Control 上)
转自:http://www.jizhuomi.com/software/195.html 列表视图控件简介 列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方 ...
- Python Flask高级编程之从0到1开发《鱼书》精品项目 ✍✍✍
Python Flask高级编程之从0到1开发<鱼书>精品项目 一 .安装环境我们使用 flask web框架,并用 sqlalchemy来做数据库映射,并使用 migrate做数据迁移 ...
- 牛客集训第七场J /// DP
题目大意: 在矩阵(只有52种字符)中找出所有不包含重复字符的子矩阵个数 #include <bits/stdc++.h> #define ll long long using names ...
- neo4j中cypher语句多个模糊查询
总结一下经验: neo4j中,cypher语句的模糊查询,好像是个正则表达式结构. 对于一个属性的多个模糊查询,可以使用如下写法: 比如,查询N类型中,属性attr包含'a1'或者'a2'的所有节点. ...
- java_网络编程之上传文件案例
初期成果: 客户端: package FileUpload; import java.io.*; import java.net.Socket; import java.util.Scanner; p ...
- 使用JS实现页面中动态添加文件上传输入项
1. 编写JSP <%@ page language="java" import="java.util.*" pageEncoding="UTF ...
- 关于安装了sqlite对于vs的组件,重启vs后,在外面可以连接sqlite数据库,但是在建立实体模型时没有sqlite数据源的问题
出自:http://bbs.csdn.net/topics/390917337 兄弟,刚刚在stackoverflow上找到了解决方法了http://stackoverflow.com/questio ...
- antidependence and data hazard
See below example. ADDD F6, F0, F8 SUBD F8, F10, F14 Some article would say that “ There’s an ant ...
- ST(RMQ)算法(在线)求LCA
在此之前,我写过另一篇博客,是倍增(在线)求LCA.有兴趣的同学可以去看一看.概念以及各种暴力就不在这里说了,那篇博客已经有介绍了. 不会ST算法的同学点这里 ST(RMQ)算法在线求LCA 这个算法 ...
- 「BZOJ2300」[HAOI2011] 防线修建
传送门 操作离线之后倒着做,只有加点操作. 用set动态维护凸包即可. //Achen #include<algorithm> #include<iostream> #incl ...