直方图引入
直方图是一个简单的表,它给出了一幅图像或一组图像中拥有给定数值的像素数量。因此,灰度图像的直方图有256个条目(或称为容器)。0号容器给出值为0的像素数目,1号容器给出值为1的像素个数,以此类推。
直方图反投影
直方图是图像内容的一个重要特性。如果一幅图像的区域中显示的是一种独特的纹理或是一个独特的物体,那么这个区域的直方图可以看做一个概率函数,它给出的是某个像素属于该纹理或物体的概率。这使得我们可以借助图像的直方图来检测特定的内容。
反投影直方图的方法是一种把目标概率分布映射到观测图像的简单方法。其作用是,替换一个输入图像中每一个像素值,使其变成感兴趣区域(ROI)的直方图中对应的概率值
其在opencv2的C++ API为:
cv::calcBackProject(&image,
1, //一幅图像
channels, //通道数量
histogram, //进行反投影的直方图
result, //生成的反投影图像
ranges, //每个维度的值域
255.0 //缩放因子
);
HSV颜色空间
HSV(Hue,Saturation,Value)是根据颜色的直观特性(色调H,饱和度S,亮度V)创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。
色调H
用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;
饱和度S
取值范围为0.0~1.0,值越大,颜色越饱和。
亮度V
取值范围为0.0(黑色)~1.0(白色)。
HSV模型的三维表示从RGB立方体演化而来。设想从RGB沿立方体对角线的白色顶点向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度,明度沿垂直轴测量。