- 浏览: 263557 次
- 性别:
- 来自: 济南
文章分类
最新评论
由于Haar特征是矩形中黑色区域所有像素值的和减去白色区域所有像素值的和。在之前(《计算Haar特征个数》)我们看到,24*24的图片中,有115984个特征,远远大于其像素个数。如果计算每个特征的像素和,计算量会非常大,而且很多次运算是重复的。
Paul Viola提出一种利用积分图像法快速计算Haar特征的方法(《Rapid object detection using a boosted cascade of simple features》)。简单说来,就是先构造一张“积分图”(Integral image),也叫Summed Area Table,之后任何一个Haar矩形特征都可以通过查表的方法(Look Up Table)和有限次简单运算得到,大大减少了运算次数。
将矩形表示为:
其中,x,y表示起点坐标,w,h表示宽,高,a表示角度。
矩形内像素值之和表示为:
0°矩形特征
构造积分图像Summed Area Table
其中I(x,y)表示图像(x,y)位置的像素值。
积分图像可以采用增量的方式计算:
初始边界:SAT(-1,y)=SAT(x,-1)=SAT(-1,-1)=0
所以,只需要对整张图像遍历一次就可以求得这张图的积分图像。
计算Haar矩形特征
如图所示:
利用积分图计算可计算矩形区域内像素和:
所以,无论矩形r的尺寸大小,只需查找积分图像4次就可以求得任意矩形内像素值的和。
45°Rotated矩形特征
构造旋转积分图像Rotated SummedArea Table
旋转积分图中,每个点存储是其左上方延伸出的45°区域范围内所有像素之和:
RSAT(x,y)也采用增量方计算得到:
初始边界:RSAT(-1,y)=RSAT(x,-1)=RSAT(x,-2)=0
RSAT(-1,-1)=RSAT(-1,-2)=0
公式具体示意如下图:
计算Haar矩形特征
同样的方式,可推出每个矩形内像素和的计算公式:
*图太难画了,不清楚的自己在草稿纸上试试吧~
同样的,无论旋转矩形r的尺寸大小,只需要查找积分图像4次就可以求得任意矩形内像素值得和。
同样的,无论旋转矩形r的尺寸大小,只需要查找积分图像4次就可以求得任意矩形内像素值得和。
(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu未经允许请勿用于商业用途)
发表评论
-
unity基础开发----物体位移和旋转实用代码
2013-11-21 22:46 1221using UnityEngine; using Syst ... -
Android中View绘制优化之一---- 优化布局层次
2012-09-04 23:00 965... -
Android中View绘制优化二一---- 使用<include />标签复用布局文件
2012-09-08 13:54 970... -
Android中View绘制优化之三---- 优化View
2012-09-13 21:00 1044... -
兰林任务管理应用程序雏形版以及概要说明
2012-09-15 21:54 823... -
Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)
2012-10-10 18:14 1063... -
Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下)
2012-10-17 20:05 807... -
Android中文件选择器的实现
2012-11-30 08:59 1076... -
【编译原理】使用Lex将C/C++文件输出为HTML文件
2012-07-20 09:37 96908年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大 ... -
【编译原理】正则表达式
2012-07-21 21:49 213208年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大 ... -
【OpenCV】访问Mat图像中每个像素的值
2012-07-22 07:10 1088今天百度搜资料还搜到了自己的。。。《访问图像中每个像素的值 ... -
【编译原理】用Yacc做语法分析
2012-07-23 05:47 169408年9月入学,12年7月毕 ... -
【UML】UML几种图的绘制
2012-07-24 09:49 93708年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大 ... -
【OpenCV】邻域滤波:方框、高斯、中值、双边滤波
2012-07-26 10:52 1405邻域滤波(卷积) 邻域算子值利用给定像素 ... -
【数据结构】排序算法:希尔、归并、快速、堆排序
2012-07-28 06:15 93708年9月入学,12年7月毕 ... -
【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测
2012-07-31 13:25 1489角点 特征检测与匹配 ... -
【UML】案例分析:机场运作系统
2012-08-01 17:22 291508年9月入学,12年7月毕 ... -
【OpenCV】边缘检测:Sobel、拉普拉斯算子
2012-08-04 13:41 1465边缘 边缘(edge)是指图像局部强度变化最显著的部分。主要 ... -
【OpenCV】Canny 边缘检测
2012-08-08 10:17 1933Canny 边缘检测算法 1986 ... -
【UML】案例分析:新型超市购物自助系统
2012-08-19 01:13 125608年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大 ...
相关推荐
用visual c++实现目标检测,原理利用haar特征进行检测,效果非常利用,特征文件可以自己用opencv提供的工具训练,或者百度查找,自己训练比较麻烦的.
opencv 利用类haar小波特征的人脸、人眼等特征检测(带代码)
基于OpenCV+vs2008的手势检测,检测英文字母A的手势,利用了OpenCV的haar特征级联分类器,效果可好
基于OpenCV和Haar特征分类器的图像人数检测 研究一种基于OpenCV和Haar特征检测固定区域图像中人数的方法。通过选取大量含有人的Haar特征的样本图片,利用OpenCV 训练出分类器,并通过实验深入...
opencv 基于haar特征车牌分类器,haar特征车牌分类器,物体识别的模型特征文件,放到 opencv 里,直接可以物体识别了。
OpenCV计算IplImage类型图像灰度均值
本zip文件为已训练好的opencv-haar特征分类器,可以直接使用,方便人脸识别的学习。修改了所需积分
一套基于OpenCV的图像特征提取的源程序。
OpenCV利用Mask方法,获取图像的不规则区域
OpenCV利用级联的haar分类器进行人脸识别
open人脸识别分类器,haarcascades包括:............\haarcascade_eye.xml............\haarcascade_eye_tree_eyeglasses.xml............\haarcascade_frontalface_alt2.xml............\haarcascade_mcs_eyepair_...
OpenCV+C++图像处理设计-遥感图像配准系统源码
利用opencV和C语言编写,利用纹理特征比较两幅图像的相似度
基于OPENCV的超声图像增强 项目中用了基本的OPENCV 函数 实现了 超声图像的增强 OPENCV 是 计算机视觉领域一个 不错的 开发工具 项目中用提出了一个新的方法来处理数字图像 同时也对比了直方图均衡化 和数学形态学...
使用python+OpenCV实现多张图像拼接,完成拼接后进行图像黑边去除。里面代码每一行都有中文注释和附带的实验图像。
这是利用opencv实现的基于haar特征的adaboost人脸检测算法,使用VS平台,亲身实践可以使用,将图片放在该文件夹目录下,修改代码中图片名称与你所放图片名称一致就可以对图片中的人脸进行检测。使用时,确保你安装了...
几何操作,图像处理,直方图,阈值分割,边缘检测,轮廓检测,霍夫变换,角点检测
OpenCV实现相位相关图像配准,编译产生库文件
项目实现了将两张图片基于OpenCvSharp进行基本的的图像简单拼接,并在picturebox上显示结果,最后将图片保存到本地磁盘。