一、Haar-like
1、简述:Haar-like被提出时用于人脸识别,通过计算Haar特征值来表示图像灰度值的变化,常见的矩形特征只能表征一些简单的图形,对边缘、线段比较敏感。通常分为三类:边缘特征,线性特征,中心特征和对角特征。
2.在上图中,我们把每个图称为特征模板。我们对Haar特征值的定义是:一幅图像中所有白色区域的像素的和减去所有黑色区域像素的和。Haar特征也是基于灰度图的
我们把特征模板放在我们要处理的图像上,改变特征模板的大小和位置,以此来获取特征值。
注意:对于2-(a)的特征值的计算:v=sum(白)-2*sum(黑) 乘上2的目的是保证黑白像素个数保持一致
ps:opencv中有封装的HAAR 和 adaboost
二、积分图
目的(和Haar的关系):加快Haar特征值的计算速度
1、构造积分图
积分图的构造方式是位置(i,j)处的值ii(i,j)是原图像(i,j)左上角方向所有像素的和:
1)用s(i,j)表示行方向的累加和,初始化s(i,-1)=0;
2)用ii(i,j)表示一个积分图像,初始化ii(-1,i)=0;//保证图像区域外的像素值都是0
3)逐行扫描图像,递归计算每个像素(i,j)行方向的累加和s(i,j)和积分图像ii(i,j)的值
s(i,j)=s(i,j-1)+f(i,j) //f(i,j)位置上的像素值加上他左边的所有像素值
ii(i,j)=ii(i-1,j)+s(i,j) //这一行上面所行的像素加上这一行的像素 列数小于等于j
4)扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了。
后续会把代码附上。。。。