opencv----彩色图像对比度增强】的更多相关文章

图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法. 直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法. 直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现; 直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强. 1.直方图拉伸 就是扩大将图像灰度的域值的一个过程,但是经常是基于灰度图像进行处理,以前在MATlab上对比度增强调用直方图函数就几…
·对于部分图像,会出现整体较暗或较亮的情况,这是由于图片的灰度值范围较小,即对比度低.实际应用中,通过绘制图片的灰度直方图,可以很明显的判断图片的灰度值分布,区分其对比度高低.对于对比度较低的图片,可以通过一定的算法来增强其对比度.常用的方法有线性变换,伽马变换,直方图均衡化,局部自适应直方图均衡化等. 1. 灰度直方图及绘制 灰度直方图用来描述每个像素在图像矩阵中出现的次数或概率.其横坐标一般为0-255个像素值,纵坐标为该像素值对应的像素点个数.如下图所示的图像矩阵(单通道灰度图,三通道时可…
经典对比度增强算法: http://blog.csdn.net/ebowtang/article/details/38236441…
直方图均匀化简介 从这张未经处理的灰度图可以看出,其灰度集中在非常小的一个范围内.这就导致了图片的强弱对比不强烈. 直方图均衡化的目的,就是把原始的直方图变换为在整个灰度范围(0~255)内均匀分布的形式,从而增加像素灰度值的动态范围,达到增强图像整体对比度的效果. 直方图均衡化的列表计算 序号 运算 步骤和结果 1 列出原始图灰度值 f(0 ≤ f ≤ L-1) 0 1 2 3 4 5 6 7 2 列出原始直方图(概率表达) 0.02 0.05 0.09 0.12 0.14 0.2 0.22…
为了加快处理速度在图像处理算法中,往往需要把彩色图像转换为灰度图像.24为彩色图像每个像素用3个字节表示,每个字节对应着RGB分量的亮度. 当RGB分量值不同时,表现为彩色图像:当RGB分量相同时,变现为灰度图像: 一般来说,转换公式有3中. (1)Gray(i,j)=[R(i,j)+G(i,j)+B(i,j)]/3; (2)Gray(i,j)=0.299*R(i,j)+0.587*G(i,j)+0.144*B(i,j); (3)Gray(i,j)=G(i,j);//从2可以看出G的分量比较大所…
这是一篇2010年比较古老的文章了,是在QQ群里一位群友提到的,无聊下载看了下,其实也没有啥高深的理论,抽空实现了下,虽然不高大上,还是花了点时间和心思优化了代码,既然这样,就顺便分享下优化的思路和经历. 文章的名字为:Contrast image correction method,由于本人博客的后台文件已经快超过博客园所容许的最大空间,这里就不直接上传文章了,大家可以直接点我提供的链接下载. 文章的核心就是对普通的伽马校正做改进和扩展,一般来说,伽马校正具有以下的标准形式: 其中I(i,j)…
one-hot映射时,如何选取TOPN作为每一个词承载的word2vec的信息? 我们已经知道,对于这种例子: 怎么绑定手机号? 怎么关联手机号? 他们的相似度取决于绑定和关联这两个词如何相似. #取top2词的相似度vec_i = np.array([1, 0.73, 0.71, 0])vec_j = np.array([0.71, 0.73, 1, 0.71]) dist = linalg.norm(vec_i - vec_j)sim = 1.0 / (1.0 + dist) print(s…
直方图正规化: 图像为I,宽为W,高为H,I(r,c)代表I的第r行第c列的灰度值:输出图像记为O,为使得输出图像的灰度值在[Omin,Omax]范围里,可用如下公式:                                                           (1) (2) 其中0≤r<H,0≤c<W.公式(1)是一个比列关系,变换后可为公式(2),即可求输出图像O(r,c). 而Imin与Omin对应,此点(Imin,Omin)在线性方程上,则斜率:  将 (Imi…
// PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp" #include "cxcore.hpp" usi…
核心函数cvSplit(). #include<cv.h> #include<highgui.h> int main(int argc, char** argv) { IplImage* img = cvLoadImage(argv[1]); IplImage* imgR = cvCreateImage(cvGetSize(img), 8, 1); IplImage* imgG = cvCreateImage(cvGetSize(img), 8, 1); IplImage* img…