相机标定findCirclesGrid参数设置与选择

这篇具有很好参考价值的文章主要介绍了相机标定findCirclesGrid参数设置与选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相机标定findCirclesGrid参数设置与选择

利用对称的园盘格标定相机一般就会用到findCirclesGrid这个函数。如下图
findcirclesgrid,图像算法,计算机视觉,opencv,python
虽然从找点到标定opencv都提供了现成的函数,但是参数的设置上还是得注意。
findCirclesGrid一般这么调用

std::vector<cv::Point2f> p;
cv::Size s;
s.height = 6;
s.width = 9;
found1 = findCirclesGrid(img, s, p, CALIB_CB_SYMMETRIC_GRID | CALIB_CB_CLUSTERING, detector);
CALIB_CB_SYMMETRIC_GRID //对称圆盘
CALIB_CB_ASYMMETRIC_GRID//非对称圆盘
CALIB_CB_CLUSTERING//可以使用or逻辑符与图案标识符一起设置,此时函数会以稍微不同的算法来寻找圆圈,这个替代算法对透视畸变具有较高的鲁棒性,但对背景的干扰也更加敏感,适合标定具有非常宽视野的相机。

对于对称的圆盘,一般先使用CALIB_CB_SYMMETRIC_GRID | CALIB_CB_CLUSTERING若是发现很多错点,就使用CALIB_CB_SYMMETRIC_GRID 即可。

函数中的detector是自定义的斑点检测器

SimpleBlobDetector::Params params;
cv::Ptr<cv::SimpleBlobDetector> detector = cv::SimpleBlobDetector::create(params);

这是默认的检测器,params可以设置很多的参数来改变检测器

    thresholdStep = 10;    //二值化的阈值步长,即公式1的t  
    minThreshold = 50;   //二值化的起始阈值,即公式1的T1  
    maxThreshold = 220;    //二值化的终止阈值,即公式1的T2  
    //重复的最小次数,只有属于灰度图像斑点的那些二值图像斑点数量大于该值时,该灰度图像斑点才被认为是特征点  
    minRepeatability = 2;     
    //最小的斑点距离,不同二值图像的斑点间距离小于该值时,被认为是同一个位置的斑点,否则是不同位置上的斑点  
    minDistBetweenBlobs = 10;  
  
    filterByColor = true;    //斑点颜色的限制变量  
    blobColor = 0;    //表示只提取黑色斑点;如果该变量为255,表示只提取白色斑点  
  
    filterByArea = true;    //斑点面积的限制变量  
    minArea = 25;    //斑点的最小面积  
    maxArea = 5000;    //斑点的最大面积  
  
    filterByCircularity = false;    //斑点圆度的限制变量,默认是不限制  
    minCircularity = 0.8f;    //斑点的最小圆度  
    //斑点的最大圆度,所能表示的float类型的最大值  
    maxCircularity = std::numeric_limits<float>::max();  
  
    filterByInertia = true;    //斑点惯性率的限制变量  
    //minInertiaRatio = 0.6;  
    minInertiaRatio = 0.1f;    //斑点的最小惯性率  
    maxInertiaRatio = std::numeric_limits<float>::max();    //斑点的最大惯性率  
  
    filterByConvexity = true;    //斑点凸度的限制变量  
    //minConvexity = 0.8;  
    minConvexity = 0.95f;    //斑点的最小凸度  
    maxConvexity = std::numeric_limits<float>::max();    //斑点的最大凸度  

如我们想告诉检测器最小的斑点的面积:

params.filterByArea = true;
params.minArea = 10;

在实际标定的过程中遇到了图片较小,斑点间间隔比较小,用默认的检测器会存在有斑点检测不出来,修改下面代码后顺利检出

params.minDistBetweenBlobs = 0;//两个斑点间最小的距离为0

总结
在标定时:
1、若检测的点混乱、重复,试着不用CALIB_CB_SYMMETRIC_GRID | CALIB_CB_CLUSTERING只用CALIB_CB_SYMMETRIC_GRID
2、对于图片小、点密的情况改变检测的最小间隔params.minDistBetweenBlobs = 0;文章来源地址https://www.toymoban.com/news/detail-647438.html

到了这里,关于相机标定findCirclesGrid参数设置与选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 相机的内外参数标定和畸变矫正原理和代码

    相机的成像过程实质上是坐标系转换。首先空间中的点坐标由世界坐标系转换到相机坐标系,然后将其投影到成像平面(图像物理坐标系),最后再将成像平面上的数据转换到图像像素坐标系。但是由于透镜制造精度及组装工艺的差别会引入畸变,导致原始图像的失真。镜头

    2024年04月16日
    浏览(42)
  • Matlab相机标定方法及主要参数含义,坐标变换过程

    网上有很多关于matlab相机标定的资料,但找了很久没有相应的参数说明:怎样利用获得参数从世界坐标系变换到图像坐标系,所以这里为了记录一下,也方便新人理解。 首先由图像到参数的获取部分在网上有很多资料,也很容易,在这就不再赘述,我利用的标定板的格子大小

    2024年02月05日
    浏览(43)
  • python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

    今天的低价单孔摄像机(照相机)会给图像带来很多畸变。畸变主要有两 种:径向畸变和切想畸变。如下图所示,用红色直线将棋盘的两个边标注出来, 但是你会发现棋盘的边界并不和红线重合。所有我们认为应该是直线的也都凸 出来了。 在 3D 相关应用中,必须要先校正这些畸变

    2024年02月06日
    浏览(48)
  • OAK相机:自动或手动设置相机参数

    使用硬件如下: 4✖️ov9782相机 OAK-FFC-4P驱动板 硬件接线参考博主的一篇博客:OAK相机:多相机硬件同步拍摄 博主使用的是Ubuntu18.04系统,首先配置所需的python环境: 1、下载SDK软件包: 2、安装依赖: 3、注意:在Linux平台并且第一次使用OAK需要配置udev规则 相关python API可参考

    2024年02月09日
    浏览(37)
  • 海康工业相机SDK + OpenCV实例(4):相机参数设置详解

    前文海康工业相机SDK + OpenCV实例(3):相机初始化Bug调试讲述了相机初始化可能遇到的问题。本文讲解海康工业相机设置参数的相关接口,其中,会重点讲解 自动曝光时间调整亮度 , 图像对比度调整 。 海康SDK提供一系列参数设置的接口,本节主要讲解几个万能接口的使用,

    2024年02月11日
    浏览(68)
  • 【笔记&问题解决】激光雷达和相机外部参数标定全流程(livox_camera_calib加载数据问题解决 [#85 Issue] & PCL无法创建KDTree问题解决 [#19 Issue])

    激光雷达:DJI Livox Avia混合固态激光雷达 相机:Intel Realsense D435i深度相机 外参标定是进行多传感器融合的必要前提。 livox_camera_calib 是香港大学MaRS 实验室开发的一款的激光雷达和相机标定的算法。算法分为分为 单场景标定(Single scene calibration) 和 多场景标定(Multi scenes

    2024年02月04日
    浏览(73)
  • iPhone相机参数设置,苹果原相机也能拍出大片感

    苹果原相机一直是大家拍照的首选,因为它的质感和清晰度绝对是手机相机里数一数二的。可有很多小伙伴自己或给女朋友拍照时,感觉拍出来像“照妖镜”,会丑化人像,特别是 iPhone13 用户普遍反映原相机拍照锐化十分严重。 如果你想成为自拍达人或是对象的“首席摄影

    2024年02月06日
    浏览(40)
  • 机器视觉海康工业相机SDK参数设置获取

    视觉人机器视觉培训-缺陷检测项目-食品行业草鸡蛋外观检测 相机参数类型可分为六类,除 command 参数外,每一类都有其对应的设置与获取函数接口。 表 1 参数类型及对应函数接口介绍 *详细函数接口可参考 SDK 手册: ​C:Program Files (x86)MVSDevelopmentDocumentations 相机参数类型

    2024年02月07日
    浏览(89)
  • 相机设置参数:黑电平(Black Level)详解和示例

    本文通过原理和示例对相机设置参数“黑电平”进行讲解,以帮助大家理解和使用。 相机中黑电平原理是将电平增大,可以显示更多暗区细节,可能会损失一些亮区,但图像更多的关注暗区,获取完图像信息再减掉。只是为了把负值变成正值,把偏移的电平减掉,对图像效果

    2024年01月21日
    浏览(60)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包