机器视觉径向畸变校正分步实现(标定,四,最小二乘法计算径向畸变)

您所在的位置:网站首页 最小二乘法计算公式展开 机器视觉径向畸变校正分步实现(标定,四,最小二乘法计算径向畸变)

机器视觉径向畸变校正分步实现(标定,四,最小二乘法计算径向畸变)

2024-07-02 05:53:25| 来源: 网络整理| 查看: 265

看图,曾经说过,发现径向畸变值数量级是ok的,最后核实算法也是ok的,但径向畸变值是负值?又找了找,发现径向畸变值大数据出来后,恍然明白了(数据中非常多的负值,相同数量级)。为什么数据有正有负数?说明观察数据还不够(数据行列满篇,仅仅只看左上角,还有其他八个区域呢?分析数据是很有前途,你看多普勒三大行星定律,上天给数据(师傅领进门),多普勒很靠谱)!即使计算正确又有什么用呢?那么请在下一版本中,给出答案(大哥,已经5个版本了,intel处理器仅仅酷睿都十代了,你这都知足了?我看你行!别叽歪)。

我们来看一看最小二乘法计算径向畸变,代码如下:(注重了算法,丢失了其他)

   float 径向参数1 = 0;//B                       double globrr = 0;//A             double globrrrr = 0;//D             double CCC = 0;//C

            float 径向参数2 = 0;  //B               double globrrJ = 0;//A             double globrrrrJ = 0;//D             double CCCJ = 0;//C             //注意考虑插补值【0,0】问题,然后再向下201709131620             if (lastRePlus.Count != 0)//list,旋转后正四格1600;             {                 int zeroCount = 0;//需要修改为arr2D,201709181707                 for (int i = 0; i < lastRePlus.Count; i++)                 {                     for (int j = 0; j < lastRePlus[i].Count; j++)                     {                         if (0 == lastRePlus[i][j].X && 0 == lastRePlus[i][j].Y)                         {                             zeroCount++;                             continue;                         }                         double rr = ((lastRePlus[i][j].X - wban) * (lastRePlus[i][j].X - wban) +                                        (lastRePlus[i][j].Y - hban) * (lastRePlus[i][j].Y - hban));

                        float 以X得到的径向参数 = (旋转后正四格all[i * lastRePlus[i].Count + j].X - wban) / (lastRePlus[i][j].X - wban);                         径向参数1 += 以X得到的径向参数;//B                                                                      globrr += rr;//A                         globrrrr += rr * rr;//D                         CCC += 以X得到的径向参数 * rr;//C                         ///                         float 以Y得到的径向参数 = (旋转后正四格all[i * lastRePlus[i].Count + j].Y - hban) / (lastRePlus[i][j].Y - hban);                         径向参数2 += 以Y得到的径向参数;//BJ                         CCCJ += 以Y得到的径向参数 * rr;//CJ                         globrrJ += rr;//AJ                         globrrrrJ += rr * rr;//DJ                     }                 }                 int count = 旋转后正四格all.Count - zeroCount;                 最小二乘径向参数 = (float)((count * CCC - globrr * 径向参数1) / (count * globrrrr - globrr * globrr));//最小二乘201709131656                             textBox50.Text = 最小二乘径向参数.ToString();

                最小二乘径向参数 = (float)((count * CCCJ - globrrJ * 径向参数2) / (count * globrrrrJ - globrrJ * globrrJ));//最小二乘201709131656                               textBox49.Text = 最小二乘径向参数.ToString();                 //径向畸变I和j方向差异太大(不在一个数量级),应给出报警//201709200822

}

标定相关:

1,以前曾经遇到过不能标定的问题,因为标定板是1mm*1mm的方格,而工作的视野是0.8mm*0.6mm,一个格子都装不下,如何标定呢?

这种情况怎么对付?好在镜头选型时,镜头给出的畸变参数,计算后足以忽略误差,对工作无影响。

2,另一种情况,标定板能覆盖1024*768分辨率,而不能覆盖1600*1200,这种情况,又如何标定?要么,更换更大的标定板,要么在无可用的情况下,从1600*1200中取1024*768图像进行标定,并且工作图像也只取1024*768,即1600*1200相机降级为1024*768相机了(原来只用买一个500万的工业相机就可以了,小于500百万的相机,用此法)。

3,其实在机器视觉中,目标决定视野,视野决定镜头和ccd相机,为什么机器视觉可以解决视觉畸变问题,道理在此

4,现在我们也有一种方法来验证镜头径向畸变的好坏,如果你的未畸变网格与亚像素角点重合越多,则镜头畸变越小,这似乎变成了经验之谈

5,在机器视觉中,是不可能出现切向畸变的,如果有,机器视觉标准已经把你置之门外了。而且径向畸变已经写在镜头选型中了,这就是标定在机器视觉中式微的原因,这也是工业镜头和ccd相机高大上贵的原因(标定消化在硬件之中了)。

6,机器视觉如果没有精确二字,就没有存在的价值了。

7,为什么还要标定,消除人性的不放心,其次也算两条腿走路,另外标定还会提供比例尺和坐标系。标定很重要,他是藏在机器视觉中的人工智能。

/以上0510,以下05111251

谁说径向畸变k值不可以为负数?原来他可以为负数,今天找到了原因,请看曾经的初心:

这说明一个问题:人的记忆力不可靠,所以要及时做笔记

目标巅峰(专注标定)时期的考虑,非当下能比,为什么要那样做,为什么用这样的数据,此时是惘然的。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭