最近一直沉迷于SSE方面的优化,实在找不到想学习的参考资料了,就拿个笔记本放在腿上翻翻OpenCv的源代码,无意中看到了OpenCv中关于积分图的代码,仔细研习了一番,觉得OpenCv对SSE的灵活运用真的做的很好,这里记录下我对该段代码的品味并将其思路扩展到其他通道数的图像. 该核心代码位于:Opencv 3.0\opencv\sources\modules\imgproc\src\sumpixels.cpp文件中. 我们贴出最感兴趣的一部分代码以便分析: bool operator()(co…
最近一直沉迷于SSE方面的优化,实在找不到想学习的参考资料了,就拿个笔记本放在腿上翻翻OpenCv的源代码,无意中看到了OpenCv中关于积分图的代码,仔细研习了一番,觉得OpenCv对SSE的灵活运用真的做的很好,这里记录下我对该段代码的品味并将其思路扩展到其他通道数的图像. 该核心代码位于:Opencv 3.0\opencv\sources\modules\imgproc\src\sumpixels.cpp文件中. 我们贴出最感兴趣的一部分代码以便分析: bool operator()(co…
Paul Viola和Michael Jones在2001年首次将积分图应用在图像特征提取上,在他们的论文"Rapid Object Detection using a Boosted Cascade of Simple Features"中,积分图被当作一种新的图像特征表征方式,可以把检测的Haar特征非常高效的计算出来,用于实时人脸检测系统. 积分图是一种能够描述全局信息的矩阵表示方法,其构造方式是积分图像上位置(i,j)处的值ii(i,j)是原图像(i,j)左上角方向所有像素的和…
原地址:http://blog.csdn.net/watkinsong/article/details/7631241 目前因为做人脸识别的一个小项目,用到了AdaBoost的人脸识别算法,因为在网上找到的所有的AdaBoost的简介都不是很清楚,让我看看头脑发昏,所以在这里打算花费比较长的时间做一个关于AdaBoost算法的详细总结.希望能对以后用AdaBoost的同学有所帮助.而且给出了关于AdaBoost实现的一些代码.因为会导致篇幅太长,所以这里把文章分开了,还请见谅. 第二部分的地址请…
前面在图像处理一栏中涉及到boxfilter 的时候,简单介绍过积分图,就是每个像素点是左边和上边的累加和,这样的话可以方便均值和方差,以及直方图统计的相关运算,这里再次结合网络资源重新单独对积分图做专门的介绍. 积分图的概念最早是由Paul Viola等人提出的,并被应用到实时的对象检测框架中.对于一个灰度图像而言,其积分图也是一张图,只不过这个图跟普通的灰度图,彩色图稍有不同.这是因为,一般我们说的灰度图.彩色图,都是相机拍摄到的真实物体在某个时刻的真实画面.而积分图虽然也可以理解为一张图,…
积分图(Integral Image),可以用于快速计算矩形特征.积分图每个位置(x, y)的值,等于原图对应位置的左上角所有像素点的值之和.因为“积分”在离散情况下就是求和,所以这也是积分图的命名由来. 初始状态 状态转移方程 这明显是很简单的动态规划,用空间换时间.由此,计算任意(红色)矩形的像素和S,时间复杂度为常数O(k).若不使用积分图,则为O((x2-x1)(y2-y1)). 参考链接: http://www.cs.utexas.edu/~grauman/courses/spring…
大多数的函数是在库中,Intrinsic Function却内嵌在编译器中(built in to the compiler). 1. Intrinsic Function Intrinsic Function作为内联函数,直接在调用的地方插入代码,即避免了函数调用的额外开销,又能够使用比较高效的机器指令对该函数进行优化.优化器(Optimizer)内置的一些Intrinsic Function行为信息,可以对Intrinsic进行一些不适用于内联汇编的优化,所以通常来说Intrinsic Fu…
这半年多时间,基本都在折腾一些基本的优化,有很多都是十几年前的技术了,从随大流的角度来考虑,研究这些东西在很多人看来是浪费时间了,即不能赚钱,也对工作能力提升无啥帮助.可我觉得人类所谓的幸福,可以分为物质档次的享受,还有更为复杂的精神上的富有,哪怕这种富有只是存在于短暂的自我满足中也是值得的. 闲话少说, SIMD指令集,这个古老的东西,从第一代开始算起,也快有近20年的历史了,从最开始的MMX技术,到SSE,以及后来的SSE2.SSE3.SSE4.AVX以及11年以后的AVX2,逐渐的成熟和丰…
前言  u-boot代码庞大,不可能全部细读,只能有选择的读部分代码.在读代码之前,根据韦东山教材,关于代码学习内容和深度做以下预先划定. 一.Makefile.mkconfig.config.mk等编译相关的文件 二.u-boot的启动流程 三.u-boot命令的实现 四.linux内核的启动流程 五.实验环节 1.自己在u-boot源码的基础上编写一个命令选择菜单程序(cmd_menu.c) 2.自己编写一个串口命令解释终端,参考基于u-boot源码的简单shell软件实现. 3.实现u-b…
Objective-C代码学习大纲(3) 2011-05-11 14:06 佚名 otierney 字号:T | T 本文为台湾出版的<Objective-C学习大纲>的翻译文档,系统介绍了Objective-C代码,很多名词为台湾同胞特指词汇,在学习时仔细研读才能体会. AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载! 详细说明... 多重参数 目前为止我还没展示如何传递多个参数.这个语法乍看之下不是很直觉,不过它却是来自一个十分受欢迎的 Smalltalk 版本. Fra…