参考文献: P. L. Rosin, “A note on the least squares fitting of ellipses,” Pattern Recognition Letters, vol. 14, no. 10, pp. 799–808, 1993.

源码:This is the source code for the paper [Arc-support Line Segments Revisited: An Efficient and High-quality Ellipse Detection]

GitHub - AlanLuSun/High-quality-ellipse-detection: A high-quality ellipse detector based on arc-support line segments which can both accurately and efficiently detect ellipses in images.

/*----------------------------------------------------------------------------*/
/** Approximate the distance between a point and an ellipse using Rosin distance.*/
#define DBL_MAX          1.7976931348623158e+308 // max value
inline double d_rosin(double* param, double x, double y)
{double ae2 = param[2] * param[2];double be2 = param[3] * param[3];x = x - param[0];y = y - param[1];double xp = x * cos(-param[4]) - y * sin(-param[4]);double yp = x * sin(-param[4]) + y * cos(-param[4]);double fe2;fe2 = ae2 - be2;double X = xp * xp;double Y = yp * yp;double delta = (X + Y + fe2) * (X + Y + fe2) - 4 * X * fe2;double A = (X + Y + fe2 - sqrt(delta)) / 2.0;double ah = sqrt(A);double bh2 = fe2 - A;double term = (A * be2 + ae2 * bh2);double xi = ah * sqrt(ae2 * (be2 + bh2) / term);double yi = param[3] * sqrt(bh2 * (ae2 - A) / term);double d[4], dmin;d[0] = dist(xp, yp, xi, yi);d[1] = dist(xp, yp, xi, -yi);d[2] = dist(xp, yp, -xi, yi);d[3] = dist(xp, yp, -xi, -yi);dmin = DBL_MAX;for (int i = 0; i < 4; i++){if (d[i] <= dmin)dmin = d[i];}//  if (X+Y>xi*xi+yi*yi)//    return dmin;//  else return -dmin; return dmin;
}

椭圆检测-点到椭圆的近似距离(Rosin distance)相关推荐

  1. java 椭圆焦点 求是否在圆内_找到一个点到椭圆的距离,在椭圆的内部或外部

    我想找到图像中每个像素坐标到椭圆的距离 . 为了找到距离,我使用下面的公式,其中p是像素的点,h是椭圆 . x,y是像素坐标,x(c),y(c)是椭圆中心,θ是椭圆角,α和β分别是椭圆的长轴和短轴 . ...

  2. 论文阅读——椭圆检测算法 2018 使用梯度分析利用错误检测控制的精确椭圆检测

    本文是2018年<Pattern Recognition>期刊(2区SCI)上的一篇文章,是最新的椭圆检测,论文题目为<Accurate detection of ellipses ...

  3. 基于opencv的一种快速有效椭圆检测方法

    本篇介绍的椭圆检测方法来自以下论文,论文作者提供了测试代码.本文主要是对这个方法做出详解. 参考论文:A fast and effective ellipse detector for embedde ...

  4. 【图像检测】基于计算机视觉实现椭圆检测附matlab代码

    1 内容介绍 Hough变换在图像处理中占有重要地位,是一种检测曲线的有效方法.但使用传统的Hough变换来检测椭圆具有存储空间大计算时间长的缺点.为此提出了一种新的基于Hough变换的椭圆轮廓检测方 ...

  5. 论文阅读——椭圆检测 2020:Arc Adjacency Matrix-Based Fast Ellipse Detection

    这是一篇基于边缘连接方法的椭圆检测算法AAMED<Arc Adjacency Matrix-Based Fast Ellipse Detection>,核心思想是使用弧段邻接矩阵获得所有弧 ...

  6. 椭圆中心到椭圆切线的距离

    本文将要讨论的是椭圆中心到椭圆切线的距离公式,在求这个距离之前,我们首先要知道两个定理. 定理1:椭圆 上的点到椭圆左,右焦点的距离分别是和,其中是椭圆的离心率. 定理2:椭圆(1)上的点处的切线方程 ...

  7. 开源、快速、高精度的椭圆检测—你值得拥有!

    点击我爱计算机视觉标星,更快获取CVML新技术 在很多计算机视觉任务中需要用到形状分析,尤其是直线检测和圆检测用的最多.比如工业检测中检测元器件(OpenCV中有经典的电阻电容识别的例子),生物图像检 ...

  8. QT+opencv学习笔记(5)——霍夫直线检测、圆检测及椭圆检测

    开发环境为:win10+QT5.8+opencv3.2 Hough变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛.最基本的Hough变换是从黑白图像中检测直线,还可以经过改进检测圆.椭 ...

  9. 论文阅读——椭圆检测 2016 Robust ellipse detection with Gaussian mixture models

    这篇文章是16年发表的椭圆检测文章,论文题目为:<Robust ellipse detection with Gaussian mixture models>,发表在<Pattern ...

最新文章

  1. 延长 XSS 生命期
  2. 黄聪: Bootstrap之Form表单验证神器: BootstrapValidator(转)
  3. app端微信支付(二) - 生成预付单
  4. win8oracle10g安装报错,Win8电脑安装Oracle 10g提示程序异常终止的解决方法
  5. html编辑器后怎么使用,html在线编辑器怎么用
  6. 解决在Windows 2003的 IIS 6.0 中无法上传超过200K的附件以及无法下载超过4M的附件问题...
  7. CocoaPods管理iOS项目 2018年11月06日
  8. 1067. Sort with Swap(0,*) (25)
  9. 46. Element isEqualNode() 方法
  10. JAVA基本数据类型几个字节_java基本数据类型各占多少字节?
  11. vba数组如何精确筛选_Filter函数和ReDim语句讲解,以及VBA中利用动态数组排重的方法一...
  12. StyleGAN生成模型
  13. 如何通过网页超链接控制电脑应用程序
  14. rstudio 连接mysql_Rstudio ODBC 连接MySQL
  15. HCL_路由器_ISIS配置
  16. Android应用安全之第三方SDK安全
  17. 微信小程序如何获取地理位置、地图显示,逆地址解析。
  18. 正则表达式--教程二(语法)
  19. 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
  20. 数模--0-1规划问题~Matlab中 intlinprog函数用法简介

热门文章

  1. 单目深度估计 | Real-Time Monocular Depth Estimation using Synthetic Data 学习笔记
  2. 给自己的博客网站加上酷炫的初音未来音乐游戏?
  3. matlab修改图像分辨率_matlab实现降低图片的分辨率
  4. 维克房地产中介管理软件 v2.62 个人版 下载
  5. 【日语】学习日语有规律
  6. 【无人驾驶视觉系列之】3D障碍物检测(一)
  7. 黑马程序员————HTML
  8. 解决CentOS虚拟机开机黑屏卡死问题
  9. 国内三甲医院首度应用iPad
  10. 每日新闻:钉钉蓝凌双剑合璧;腾讯大数据再下一城;西门子裁员2600人;苹果削减iPhone XS Max中组件 以降低成本...