积分图求局部均值,方差,标准差

局部

即图像在某个窗口内的值,例如求图像3×3窗口内的均值,方差和标准差

积分图

积分图最重要的作用是快速计算像素值累计,如果公式中包含累加,可以考虑使用积分图的方式。
当前像素位置的值是之前像素值的总和。即在积分图像(Integral Image)上任意位置(x, y)处的积分值表示该点左上角所有像素之和,表示如下:

OpenCV中积分图的计算公式,即X,Y处的值是前X,Y个像素的和。

其目的是让局部均值,方差,标准差变的简单快速
例如计算x,y处,x1,x2,y1,y2邻域内的像素总和,可以用积分图计算:

x1,x2,y1,y2都等于2,则表示,x,y处2像素(3×3)窗口内的像素值之和。

局部均值

每个像素3×3邻域的局部均值很容易利用积分图计算:

    //imageSum表示积分图//imageMean表示要求的均值图//3×3,HalfSize = 1for (int r=0; r<width; ++r) {for (int c=0; c<height; ++c) {imageMean(r,c) = (imageSum(r+HalfSize+1, c+HalfSize+1) -imageSum(r+HalfSize+1, c-HalfSize  ) -imageSum(r-HalfSize,   c+HalfSize+1) +imageSum(r-HalfSize,   c-HalfSize  ) ) * (1.0/(double)n);}}

为什么使用r+HalfSize+1而不是r+HalfSize因为在opencv中积分图是要比原图的长和宽都大1的。这样做是为了让(1,1)处的积分值,是(0,0)处像素值。(width,height)处的像素值是整张影像(width-1,height-1)的积分值。要表示整张图,那么积分图就要比原图的长和宽都大1。

局部方差和标准差

局部方差和标准差只相差一个平方根,这里推到标准差的使用积分图计算的公式:
标准差定义如下(采用统计学中的定义,分母为:n-1)一般情况下使用n也是可以的

其中。

为了计算图像的局部标准差,首先设定局部区域的大小为

则局部区域的像素点个数

对标准差的公式进行化简:

得:

我们可以通过积分图快速得到

即最终公式:
方差:

标准差:

带入公式即可通过积分图得到局部方差。


参考
https://blog.csdn.net/jia20003/article/details/52710751
https://blog.csdn.net/u010839382/article/details/46386849

积分图求局部均值,方差,标准差相关推荐

  1. MATLAB的var与std函数 与 均值,方差,标准差,均方差,均分误差

    从定义上来讲,(样本)均值,方差,标准差,均方差,均分误差分别为: 均值: 方差: 标准差: 均方差=标准差 均方误差: matlab中的var函数和std函数用来计算方差 var函数计算使用的公式为 ...

  2. 【问题记录】均值-方差-标准差 计算器(已解决)

    问题记录 在Freecodecamp上做[均值-方差-标准差 计算器]这个项目时,测试时出现如下报错:unsupported operand type(s) for -: 'dict' and 'di ...

  3. 积分图实现快速均值滤波

    写在前面 在实际应用中,效率是不得不考虑的问题.上一篇博客介绍了均值滤波原理,这一篇就写用积分图实现的快速均值滤波吧. 还是贴一下常规与快速的效率对比吧: 下图是常规均值滤波处理一张分辨率为485*5 ...

  4. opencv中求矩阵均值和标准差函数

    矩阵的均值和标准差是计算过程中常用到的两个变量. 均值是将矩阵A(MXN)中所有元素求平均值 import numpy as np A_mean = np.mean(A) 标准差的平方表征矩阵A(MX ...

  5. echarts3.0 markline 最大值 最小值 均值 方差 标准差 包络 正态分布

    if (pie == "最大值" || pie == "最小值" || pie == "均值" || pie == "标准差&qu ...

  6. python计算平均值标准差和中位数_如何使用python求平均数、方差、中位数

    python求平均数.方差.中位数的例子 CalStatistics.py def getNum(): #获取用户不定长度的输入 nums = [] iNumStr = input("请输入 ...

  7. Haar特征与积分图—概念解析

    1. Adaboost方法的引入 1.1 Boosting方法的提出和发展 在了解Adaboost方法之前,先了解一下Boosting方法. 回答一个是与否的问题,随机猜测可以获得50%的正确率.如果 ...

  8. 【OpenCV】OpenCV中积分图函数与应用

    OpenCV中积分图函数与应用 参考资料 opencv 查找integral,目前网上大部分的资料来自于opencv https://docs.opencv.org/master/d7/d1b/gro ...

  9. OpenCV中积分图介绍与应用

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一:图像积分图概念 积分图像是Crow在1984年首次提出,是为了 ...

最新文章

  1. 深入研究 System.out.println()
  2. Asp.net用户管理API的应用(上)
  3. ansible所有模块一览
  4. SQL Server Management Studio清除历史登陆记录
  5. 美国硅谷预测10年后的世界,再不懂你就落伍了
  6. Shell应用:批量将文件编码由gbk转utf-8
  7. 动态规划几种状态剪裁比较
  8. php http请求xml数据,使用php从HTTP POST请求中检索XML
  9. linux加密框架 crypto 算法管理 - 动态和静态算法管理
  10. java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型
  11. 天籁obd接口针脚定义_典藏 | OBD接口位置大全及部分常用手机型号语音播报设置流程...
  12. vue2+vuex+vue-router 快速入门(三) vue 实例介绍
  13. 使用Windows自带的录音机进行wav转mp3的操作
  14. (转载)软件测试全套教程,软件测试自学线路图
  15. Win10系统怎样让打开图片方式为照片查看器
  16. input中加入图标实现搜索框
  17. 携手强化「内容审核」能力,融云与数美科技达成战略合作
  18. 网站SEO过程中的死链处理
  19. 苹果双系统怎么切换_Mac如何删除双系统中的windows系统
  20. windows重装系统步骤及相关知识①

热门文章

  1. android 飞入购物车,jQuery实现飞入购物车功能
  2. 2022年自考专业考试(公关关系)公共关系口才练习题
  3. 他山之石——VBA进销存管理
  4. loadrunner监控局域网内其他服务器系统资源设置,LoadRunner如何监控Windows系统资源...
  5. 坐标离散化,imos
  6. 只有在潮水退去时,你才会知道谁一直在裸泳
  7. matlab如何进行数字信号处理,使用MATLAB进行数字信号处理-第2部分
  8. 下载的php播放不了,php – 下载的WAV文件无法播放
  9. 没想到!网络美女直播背后的真相居然是这样
  10. 大数据笔记--Hive(第三篇)