1 问题起源

给定一幅灰度图像,其灰度值如下图所示,

要计算图中深色区域的所有像素点的灰度值之和。

最直接,简单的方法就是将这9个像素值直接相加。

如果深色区域扩大,里面包含成千上万个像素,这种算法的时间复杂度也会呈线性增加。

积分图像的提出正好解决了这个问题。

2 积分图像

积分图像顾名思义,就是求和,完整的意思是每一个像素点的灰度值等于在该像素点之前

所有像素点灰度值之和。

从上方图中抽取4个像素:

这4个像素点对应的在积分图像中的值为:

其关系为:

将1中的图像转换为积分图像,如下图所示:

深色区域的灰度值之和就是:

120-42-21+6=63

其计算原理如下:

上图为一张原始图像,其标示了四个区域:A, B , C ,D

1 处像素点对应的在积分图像中的值为:sum(A);

2 处像素点对应的在积分图像中的值为:sum(A+B);

3 处像素点对应的在积分图像中的值为:sum(A+C);

4 处像素点对应的在积分图像中的值为:sum(A+B+C+D);

则:

区域D所有的像素点灰度值之和为:

sum(A+B+C+D) - sum(A+C) - sum(A+B) + sum(A)

积分图像(Integral image)相关推荐

  1. 积分图像 Integral

    实现子区域的快速求和,在人脸识别及相关算法中应用的Haar小波中很有用 原理: 计算一个简单矩形区域((x1,y1),(x2,y2))中像素的和: 核心函数: cvIntegral 程序: 代码: # ...

  2. OpenCV实战(10)——积分图像详解

    OpenCV实战(10)--积分图像详解 0. 前言 1. 积分图像计算 2. 自适应阈值 2.1 固定阈值的缺陷 2.2 使用自适应阈值 2.3 其它自适应阈值计算方法 2.4 完整代码 3. 使用 ...

  3. 积分图像追踪目标 (一)

    积分 积分是微积分学与数学分析里的一个核心概念.通常分为定积分和不定积分两种.对于一个给定的正实值函数,在一个实数区间上的定积分可以理解为在坐标平面上,由曲线.直线以及轴围成的曲边梯形的面积值(一种确 ...

  4. 【图像特征提取1】方向梯度直方图HOG---从理论到实践------附带积分图像的解析

    (一)特征检测算法的综述 计算机视觉理论中的特征描述是常见的目标分析技术之一,关键点的检测和关键点的提取是目标分析的重要手段和重要步骤之一.局部图像特征描述的核心问题是不变性和可分析性,不变性是基于特 ...

  5. OpenCV—积分图像

    前言: 有时候只需要计算图像中某个特定区域的直方图.实际上累计图像的某个子区域内的像素总和,是很多计算机视觉算法中常见的过程.现在假设需要对图像中的多个兴趣区域计算几个此类直方图.这些计算过程都马上会 ...

  6. opencv3/C++ 积分图像

    计算源图像一个或多个积分图像,如下所示: sum(X,Y)=∑x<X,y<Yimage(x,y)\ \texttt{sum} (X,Y) = \sum _{x  sqsum(X,Y)=∑x ...

  7. OpenCV4 积分图像

    OpenCV4 积分图像 这周是考试周,再加上有挺多课外知识需要输入,就去繁从简,写一写 OpenCV4积分图像 吧. 文章目录 OpenCV4 积分图像 一.编程环境: 二.原理介绍: 三.简易效果 ...

  8. 积分(Integral)

    Chapter15:积分(Integral) 15.积分 15.1 求和符号 15.1.1 一个有用的求和 15.1.2 伸缩求和法 伸缩级数 15.2 位移和面积 15.2.1 三个简单的例子(离散 ...

  9. NLM-P (使用积分图像进行算法的优化)

    #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; ...

最新文章

  1. python3网络编程
  2. 检验入参合法性有哪些_验证用户输入的参数合法性的shell脚本
  3. 基于cookies的小型购物车程序
  4. Linux用户管理(五)Linux系统的启动
  5. 在STM32价格疯长下,哪些国产32可以替代?
  6. java输出栈的弹出序列_剑指offer:栈的压入、弹出序列(Java)
  7. 数字图像处理:图像的频域
  8. MUI框架:栅格系统 + grid宫格布局 - 案例篇
  9. 199-Pycharm相关
  10. FireFox如何使用扩展
  11. 最新Hadoop环境搭建流程
  12. Docker下载安装
  13. 数据图表制作的4个基本要素!
  14. wifidog+authpuppy认证流程详解
  15. csgo国服一直连不上服务器,csgo国服显示连接服务器发生错误 | 手游网游页游攻略大全...
  16. JAVA求班级男女生比例_java编程:给你一个班级的名单,随机分成6个组的问题解决办法...
  17. APC计算机大赛,2019全国职业院校技能大赛计算机网络应用赛项题库C卷 2c.docx
  18. 正态分布在数据分析中的应用
  19. 【Rust日报】2022-02-09 热议帖 - 我TM的做开源没有得到任何资助
  20. java 删除注册表_java – 如何从Windows注册表中删除JRE条目?

热门文章

  1. MySQL - 创建存储过程Procedure,Do While实现循环
  2. 召回 粗排 精排,如何各司其职?
  3. 用Vue.js开发微信小程序:开源框架mpvue解析
  4. 评测任务征集 | 全国知识图谱与语义计算大会(CCKS 2022)
  5. 基于Flask+Nginx+uWSGI实现CentOS服务端模型部署及预加载
  6. 【TensorFlow】优化方法optimizer总结(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)解析(十三)
  7. BIO,NIO,AIO
  8. 考研心路历程2021北京交通大学计算机学院软件工程
  9. Docker:Redis启动命令
  10. SQL 与 ORACLE 的比较