【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)

这篇具有很好参考价值的文章主要介绍了【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用场景

机器视觉项目应用中,相机安装在机器人上,并且需要定位产品返回坐标偏差以及角度偏差。
与九点标定配合使用,实现精准角度补偿。

算法输入

不共线的三点坐标 A(X₁,Y₁) ,B(X₂,Y₂) ,C(X₃,Y₃)
【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)

算法原理及实现

原理:

由图可知,线OA=OB=OC=外接圆的半径(r),从三点向【以O点为原点的坐标系】做垂线。由勾股定理可得:

(X - X₀)² + (Y - Y₀)² = r ²

由上式带入三点坐标可的可得:
【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)
公式变换可得(由公式①-②,①-③):
【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)
由于上公式可得,该式有唯一解的条件为:
【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)
即任两点组成的斜率不能相等,也验证了三点成圆条件:三点不共线。

实现:

设:
a = 2(X₁ - X₂)
b = 2(Y₁ - Y₂)

c = 2(X₁ - X₃)
d= 2(Y₁ - Y₃)

e = (X₁)² - (X₂)² + (Y₁)² - (Y₂)²
f = (X₁)² - (X₃)² + (Y₃)² - (Y₃)²

代回方程:
【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)文章来源地址https://www.toymoban.com/news/detail-416962.html

代码实现

 public PointF CalculateCicular(PointF px1, PointF px2, PointF px3)
{
	float x1, y1, x2, y2, x3, y3;
	float a, b, c, g, e, f, X, Y;
	x1 = px1.X;
	y1 = px1.Y;
    x2 = px2.X;
    y2 = px2.Y;
    x3 = px3.X;
    y3 = px3.Y;
    a = 2 * (x1 - x2);
    b = 2 * (y1 - y2);

    c = 2 * (x1 - x3);
    d = 2 * (y1 - y3);
    
    e = x1 * x1 - x2 * x2 + y1 * y1 - y2 * y2;
    f = x1 * x1 - x3 * x3 + y1 * y1 - y3 * y3;
    
    X = (e * d - b * f) / (a * d - b * c);  
    Y = (e * c - a * f) / (b * c - a * d);
    //R = (float)Math.Sqrt((X - x1) * (X - x1) + (Y - y1) * (Y - y1)); //半径

     PointF center = new PointF(X, Y);
     return center;
}

到了这里,关于【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器视觉上下相机对位贴合的标定原理

    相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法。 传统相机标定法需要使用尺寸已知的标定物,通过建立标定物上坐标已知的点与其图像点之间的对应,利用一定的算法获得相机模型的内外参数。根据标定物的不同可分为三维标定物和平面型标定物

    2024年02月13日
    浏览(65)
  • 【机器视觉】线阵相机模型说明以及使用HALCON标定助手对线阵相机进行标定

    线阵相机矫正所需参数共17个,其中11个参数为内参,6个参数为外参。 线阵相机内参 CamParam 数量共11个,模型如下: CamParam:= [Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight, Vx, Vy, Vz]  Focus : 镜头焦距;  Kappa : 镜头畸变系数;正:枕形畸变 负:桶状畸变  Sx : 传感器像元宽度

    2024年02月16日
    浏览(45)
  • (视觉人机器视觉培训)康耐视3DA5000标定详细流程(相机安装于机器人上)

    (Q有答疑)visionman基本脚本培训-康耐视Visionpro之Visual Studio -调试快速方法 1、打开,运行A5000Viewer 2、修改相应参数,确认图像效果,并在Fifo取像工具自定义属性中添加。 1、本次应用为相机安装在机器人六轴前段,标定块位于相机视野内静止不动,对于相机固定安装稍有差异。

    2023年04月26日
    浏览(68)
  • 【计算机视觉----相机标定】

    相机标定 是计算机视觉中的一个重要问题,它的目的是确定相机的内部参数和外部参数,以建立从相机到图像的映射关系。相机标定的算法通常 分为两个步骤 :第一步是检测棋盘格角点并计算相机的内部参数,第二步是计算相机的外部参数。 第一步:检测棋盘格角点并计算

    2024年02月02日
    浏览(55)
  • 计算机视觉:OpenCV相机标定

    针孔照相机模型是一种经典的相机模型,它将相机视为一个针孔,将场景中的点投影到成像平面上。在这个模型中,相机的 内参和外参 描述了相机的几何形状和相机的姿态。 相机的 内参矩阵 描述了相机的内部几何形状,包括相机的焦距、像素尺寸和像素坐标原点。相机的

    2024年01月19日
    浏览(67)
  • OpenCV快速入门:相机标定——单目视觉和双目视觉

    在当今科技日益发展的时代,计算机视觉作为人工智能的重要分支,已经深入到我们生活的各个领域。在这个广阔的领域中,相机标定是一个基础且关键的步骤,它直接影响到视觉系统的精度和效能。尤其是在单目视觉和双目视觉的应用中,准确的相机标定成为了实现高效和

    2024年02月05日
    浏览(48)
  • 白学立体视觉(3): 单目相机标定

    小伙伴们,第一个理论加实践的小结来啦。本小节将会在白学立体视觉(2): 相机内外参数与坐标系的基础上,介绍一下鼎鼎有名的张正友标定法。 我们如果想重建出一台相机的成像过程的数学模型,相机的参数是最基本的。相机参数又分为内参和外参。那么内参和外参就是

    2024年02月06日
    浏览(50)
  • 计算机视觉(相机标定;内参;外参;畸变系数)

    目录 一、预备知识 1、坐标系变换过程(相机成像过程) (1)相机坐标系转换为图像坐标系(透视投影变换遵循的是针孔成像原理) (2)齐次坐标的引入原因:(为什么引入齐次坐标???) 2、内参与外参矩阵的构成 3、畸变参数 二、相机标定 1、张正友标定法(光学标

    2024年02月07日
    浏览(51)
  • 【Matlab】相机标定(计算机视觉工具箱)

    图像处理和计算机视觉是Matlab的一个主要应用领域,这部分包括4个工具箱——图像处理、计算机视觉、雷达、医学图像。由于视觉的东西容易呈现,所以先从计算机视觉工具箱学起。 官方文档对计算机视觉工具箱的介绍如下:设计和测试计算机视觉、3D 视觉和视频处理系统

    2024年02月05日
    浏览(104)
  • 【计算机视觉】OpenCV实现单目相机标定

    文章目录 单目相机标定(基于Python OpenCV) 1.上期填坑 2.单目相机标定 2.1 数据采集 2.2 角点提取 2.3 参数求解 2.4 参数评估(重投影误差) 2.5 相机位姿(棋盘位姿)可视化 2.6 同Matlab标定结果比较 在开始本篇博客之前,先填一下上一篇博客【计算机视觉】基于ORB角点+RANSAC算法实现图像

    2023年04月18日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包