光斑质心检测之曲线拟合求亚像素位置的三种方式
光斑质心检测进行图像卷积之后,需对计算结果矩阵进行曲线拟合,以求出质心的亚像素坐标。
拟合的目的在于找出图像中灰度值最高的亚像素点的位置,Xmax,Ymax;
例:对图像中相邻的三点(x1 , gray1)、(x2 , gray2)、(x3 , gray3)进行拟合,x代表横坐标值,gray代表该位置的灰度值,gray2是检测图像的最大灰度值(也就是说质心就在(x2 , gray2)这个点附近)。同理,对y坐标进行拟合类似。
方法一:抛物线拟合
Xmax = X2 - 0.5 * (gray3 - gray1) /(gray3 + gray1 - 2 gray2)
方法二:高斯拟合(高斯公式为 f(x) = a1 * exp( - ((x - b1) / c1 )^2) )
b1 = ( (x3 * x3 - x1 * x1) * ln(gray1 / gray2) - (x2 * x2 - x1 * x1) * ln(gray1 / gray3) ) / ( 2(x3 - x1) * ln(gray1 / gray2) - 2(x2 - x1) * ln(gray1 / gray3) ) ;c1 = sqrt( (x1 + x2 - 2b1 ) / (x2 - x1 ) / ln(gray1 / gray2) );a1 = y1 / exp( - ((x1 - b1) / c1) * ((x1 - b1) / c1) );Xmax = b1;
这是个人计算并验证过的,如有误,欢迎讨论(只求b1即可)
方法三:一般拟合
Xmax = (gray1 * x1 + gray2 * x2 + gray3 * x3)/(gray1 + gray2 + gray3)
光斑质心检测之曲线拟合求亚像素位置的三种方式相关推荐
- 求字符串长度Strlen的三种方式
前言 使用三种不同的方式实现strlen函数,也称为myStrlen(),分别使用计算器版本,递归版本,指针-指针 1.使用计数器版本 #include <stdio.h> #includ ...
- OpenCV(总结篇)图像逐像素访问(三种操作:指针、迭代器、at()函数)
目录 概述 1.指针访问 2.迭代器访问 3.at()函数访问 总代码 效果 参考资料 概述 访问图像像素值是图像处理的基本操作.OpenCV提供了很多访问方式,比较常用的三种方式: (1) 通过指 ...
- python函数拟合不规则曲线_python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案...
第一种是进行多项式拟合,数学上可以证明,任意函数都可以表示为多项式形式.具体示例如下. ###拟合年龄 import numpy as np import matplotlib.pyplot as p ...
- Python---试除法求质数的三种方式对比
此三种方法都是基于试除法,即不断地尝试能否整除.比如要判断自然数 x 是否质数,就不断尝试小于 x 且大于1的自然数,只要有一个能整除,则 x 是合数:否则,x 是质数. 方式1:从 2 一直尝试到 ...
- c语言求最小公倍数和最大公约数三种算法
C语言求最小公倍数和最大公约数三种算法(经典) 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b ...
- C语言求最小公倍数和最大公约数三种算法(经典)
C语言求最小公倍数和最大公约数三种算法(经典) 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为 ...
- 【opencv学习笔记】第五篇:访问图像中像素的三种方式、ROI区域图像叠加和图像混合
1. 访问图像中像素的三种方式 任何图像处理算法,都是从操作每个像素开始的.在OpenCV中,提供了三种访问每个像素的方法. 方法1:指针访问:C操作符[] 方法2:迭代器iterator 方法3:动 ...
- Python 高等数学应用 求导数的三种方式
Python 高等数学应用 求导数的三种方式 方式一 使用SymPy的diff 函数, 可以得到函数的导数表达式,给出数学表达式里的数学符号描述符 本例使用了此方法 方式二 使用spicy.misc模 ...
- opencv学习(四)之像素遍历三种方式
在上一篇文章中介绍了图像颜色空间缩减.查找表等内容.在对图像像素进行遍历时共有三种方法: (1). C操作符[] (指针方式访问) (2). 迭代器iterator (3). 动态地址计算 这三种像素 ...
最新文章
- Java中Comparable和Comparator区别小结
- 2021年高考成绩查询湖北状元,2021年湖北高考状元多少分,今年湖北高考状元资料名单...
- python把桢写入txt_ffmpeg 常用参数一览表及python 使用示例
- qq收不到oracle邮件,腾讯企业邮箱发送邮件失败
- Python很简单,你一定能学会【加油!】
- linux root所在目录,Linux下误删root目录
- VC++运行时静默安装
- 数字信号第二章freqz函数作业
- 是的你没看错,HTTP3来了
- 【专家推荐】保姆级开源工具推荐,一用一个爽,非常劲爆(收藏系列)
- Redundant declaration: @SpringBootApplication already applies given @ComponentScan
- html记忆游戏,html5 最强大脑最强记忆游戏
- 正则表达式的进阶用法——预查与分组
- 境外上市,一个绝非遥不可及的梦想!
- 管理远程团队的4种方法
- EKL-日志收集系统安装
- 已解决NameError: name ‘XXX‘ is not defined
- Linux下安装nginx,启动和重启
- matlab画三维点坐标,已知各个点的三维坐标(x,y,z),怎么用MATLAB画三维图
- 快速查询快递物流,根据更新量筛选出只揽收的单号
热门文章
- stl之bit_vector原理及应用
- pxe安装系统 ip获取错误_聊聊PXE的那点东西
- bat 等待输入_深蓝词库转换 - 简单的输入法词库转换工具
- python命令符bash_从python结构执行远程bash命令时“转义”$
- diff git 指定时间_【GIT】从指定分支两个Tag中获取差异文件,进行代码的增量更新...
- matlab中svm testacc参数,使用Matlab进行交叉验证的多类SVM的完整示例
- php 重写sessionid,PHP 重置 phpsessionid
- 如何在CentOS 7上安装Varnish Cache
- python html解析_Python HTML解析器
- 14-9-25日jenkins部署到tomcat的错误日志