您的位置:首页 > 理论基础

[计算机视觉]2015.9.30Histogram Equalization with opencv

2015-09-30 21:50 169 查看

*********1.Histogram equalization************

(1)直方图均衡化的目的:经过转换i->c(i)使成绩为75分(a%)的学生成绩优于3/4(a%)的学生;

根据定义可得到的式子,对于全灰度区间的均衡化来说c(i)/I=sum{n=0:i}(h(n))/N;其中I为像素灰度值的最大值,N为图像中像素的总数,右边sum{n=0:i}(h(n))称为累计分布函数,表示像素灰度值小于i的所有的像素点的个数;n为像素值,取值为0~n;当我们对某一特定的灰度区间进行均质化时,应有c(i)/(Imax-Imin)=sum{n=Imin:i}(h(n))/N;其中N为该区间内的象素点总数;

(2)在opencv中可以用对hsv图像的v亮度矩阵进行均衡化:

HSV颜色空间模型
H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰度。V表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系
a.转化为HSV体系的图像cvtColorb.split出Volume分量矩阵c.对volume进行均衡化equalizeHist()d.merge函数将三个单通道合并为一个三通道图像#include "stdafx.h"#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;int main(){Mat img = imread("lena.jpg");//load the imageMat img_hsv;Mat img_H;cvtColor(img, img_hsv, CV_BGR2HSV);//convert the image from RGB to HSVimshow("img_hsv", img_hsv);Mat img_hsv_v[3];split(img_hsv,img_hsv_v);//split the image to a single-channel image to get the mat of V(volume)imshow("img_hsv_v", img_hsv_v[2]);equalizeHist(img_hsv_v[2], img_hsv_v[2]);imshow("img_hsv_v_1", img_hsv_v[2]);merge(img_hsv_v, 3,img_hsv);//merge the 3 single-channel images into a 3-channels imageimshow("img_hsv_1", img_hsv);waitKey();}
#include "stdafx.h"#include#includeusing namespace cv;int main(){Mat img = imread("lena.jpg");Mat img_hsv;Mat img_H;cvtColor(img, img_hsv, CV_BGR2HSV);imshow("img_hsv", img_hsv);Mat img_hsv_v[3];split(img_hsv,img_hsv_v);imshow("img_hsv_v", img_hsv_v[2]);equalizeHist(img_hsv_v[2], img_hsv_v[2]);imshow("img_hsv_v_1", img_hsv_v[2]);merge(img_hsv_v, 3,img_hsv);imshow("img_hsv_1", img_hsv);waitKey();}

****************opencv**************************

改版后的opencv更加像matlab1.Mat img=imread(Name_Path);Mat img_new;Mat支持可变大小矩阵的声明而不需要对矩阵 进行赋值;区别于Mat img_new=img;Mat img_new(img);这两种方法得到的img_new是img的引用,对新矩阵的操作会改变img的值2.imshow("title",Mat);3.之前的带有cv开头的函数基本都去掉了cv,cv开头的表示是原有函数,是基于c的,在c++中运行会抱错例如:cvtColor();split();merge();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息