[占坑] 图像处理中计算积分图使用类似dp的方法而不用树状数组的原因

  占个坑,目前知道的几条原因:

1.dp的状态转义方程很简单:f(i,j)=f(i-1,j)+f(i,j-1)-f(i-1,j-1)+rgb(i,j),预处理复杂度是O(nm),查询的复杂度为O(1)。而使用BIT的话,一般的图像RGB值非常分散,预处理的复杂度相当于往二维BIT里插入数的复杂度,是O(nmloglog(max(n,m)))。这样看来的话,dp略胜一筹。不过,假如是处理二值图像的话,或许二维BIT会提速不少。

原文地址:https://www.cnblogs.com/kirai/p/8214633.html

时间: 2024-10-23 23:21:17

[占坑] 图像处理中计算积分图使用类似dp的方法而不用树状数组的原因的相关文章

高级数据结构:优先队列、图、前缀树、分段树以及树状数组详解

优秀的算法往往取决于你采用哪种数据结构,除了常规数据结构,日常更多也会遇到高级的数据结构,实现要比那些常用的数据结构要复杂得多,这些高级的数据结构能够让你在处理一些复杂问题的过程中多拥有一把利器.同时,掌握好它们的性质以及所适用的场合,在分析问题的时候回归本质,很多题目都能迎刃而解了. 这篇文章将重点介绍几种高级的数据结构,它们是:优先队列.图.前缀树.分段树以及树状数组. 一.优先队列 1.优先队列的作用 优先队列最大的作用是能保证每次取出的元素都是队列中优先级别最高的,这个优先级别可以是自定

浅谈二维中的树状数组与线段树

一般来说,树状数组可以实现的东西线段树均可胜任,实际应用中也是如此.但是在二维中,线段树的操作变得太过复杂,更新子矩阵时第一维的lazy标记更是麻烦到不行. 但是树状数组在某些询问中又无法胜任,如最值等不符合区间减法的询问.此时就需要根据线段树与树状数组的优缺点来选择了. 做一下基本操作的对比,如下图. 因为线段树为自上向下更新,从而可以使用lazy标记使得矩阵的更新变的高校起来,几个不足就是代码长,代码长和代码长. 对于将将矩阵内元素变为某个值,因为树状数组自下向上更新,且要满足区间加法等限制

(新人的第一篇博客)树状数组中lowbit(i)=i&(-i) 的简单文字证明

第一次写博好激动o(≧v≦)o~~初一狗语无伦次还请多多指教 先了解树状数组http://blog.csdn.net/int64ago/article/details/7429868感觉这个前辈写的很好 但是里面提到的lowbit则是一笔带过,那么lowbit究竟是个什么鬼呢??? 首先明白一个概念,计算机中-i=(i的取反+1),也就是i的补码 而lowbit,就是求(树状数组中)一个数二进制的1的最低位,例如01100110,lowbit=00000010:再例如01100000,lowbi

HDU 1556 Color the ball(树状数组)(填坑)

题目地址:HDU 1556 因为听别人说树状数组能做的线段树都可以,所以也一直没学,但是现在遇到好多题卡线段树...跪了..所以就学一下填填坑. 这题应该是树状数组的入门题了.不多说了. 代码如下: #include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h> #in

求序列A中每个数的左边比它小的数的个数(树状数组)

给定一个有N个正整数的序列A(N<=10^5,A[i]<=10^5),对序列中的每一个数,求出序列中它左边比它小的数的个数. 思路:树状数组的经典应用(裸题) 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 5 using namespace std ; 6 7 const int N = 100010 ; 8 9 int c[N] ; 10 11 int lowbit(

(填坑)树状数组1

还记得当年纠结在树状数组的构成上半年... 一个万年老坑 说实话在这之前我没拍过一遍树状数组代码 --------------------------------------分割线-------------------------------------- 进入正题(P.S.一下所有定义皆为从学习的博主转载而来,在结尾部分会上链接) 最普通的树状数组,利用lowbit的二进制对应方法,支持单点修改,1-i查询,但是这样的应用范围也太少了吧2333 #include<iostream> #inc

求序列中满足Ai &lt; Aj &gt; Ak and i &lt; j &lt; k的组数 树状数组 HIT 2275 Number sequence

http://acm.hit.edu.cn/hoj/problem/view?id=2275 Number sequence   Source : SCU Programming Contest 2006 Final   Time limit : 1 sec   Memory limit : 64 M Submitted : 1632, Accepted : 440 Given a number sequence which has N element(s), please calculate

机器视觉中的图像积分图及其实现

计算机视觉中,人脸检测(Face Detection)是一项常见的任务.Paul Viola和Michael Jones在<Rapid object detection using a Boosted cascade ofsimple features>一文中提出的快速对象识别算法将人脸检测推向了一个新的高度,这种将Adaboost 和Cascade 算法综合运用的实时人脸检测系统,使人脸检测这项工作具有了更为实际的意义和价值.其中,为了加速Haar特征的计算,他们提出了积分图的概念. 坐标点

机器视觉中的图像积分图及事实上现

计算机视觉中,人脸检測(Face Detection)是一项常见的任务. Paul Viola和Michael Jones在<Rapid object detection using a Boosted cascade ofsimple features>一文中提出的高速对象识别算法将人脸检測推向了一个新的高度,这样的将Adaboost 和Cascade 算法综合运用的实时人脸检測系统,使人脸检測这项工作具有了更为实际的意义和价值. 当中.为了加速Haar特征的计算,他们提出了积分图的概念.