识别直线&定量计算

        两个月前我接到老大的“活”,精准识别十字架并计算相对位置

                 公司是做激光器相关设备的,激光器的控制器可以将激光的光路控制打出坐标,激光器控制器对光路的控制一定时间后会有一定衰减,打出的坐标会漂移,漂移控制在0.05mm以内为合格

        之前怎么做的呢:

                  1、使用特制的纸粘贴在玻璃板上,让激光器打出11*11的十字架点阵,然后用光学影像仪(一种很贵的光学电子测量设备,精度控制在0.001mm)进行扫描,指定最中心点为原点,获取所有点的坐标,其中过原点水平方向是X轴、垂直方向是Y轴,它是通过两个轴的运动确定距离,有个大摄像头不动,获取图片确定十字架中心点;精度很高,但是超级慢,我们卖设备总不能给客户再配个这家伙吧,成本又上去了

                   2、激光器再粘纸玻璃上打出十字点阵,用扫描仪扫描,扫描仪的底座玻璃上刻有高精度尺子,扫描出图片后,在图片上找出尺子,简单计算一下一个像素和现实中距离的关系,通过一定算法计算出每个十字架在图片中的像素位置,然后换算成距离;这种方法可以使可以,只是精度不行0.05~0.2mm吧,比较依赖扫描仪的扫描均匀程度

         拿到活后我找了好多资料,用开源图形图像库通过霍夫线变换可以得到图片中的直线,都比较简单,没有定量计算的例子。参考友商的做法,在扫描仪玻璃底座上刻上高精度的方格,识别出方格的交叉点和激光扫描出的十字架中心点,然后计算距离技术方向应该没错。

                              

             两中线需要识别,45、135度的方格线焦点和0、90度的十字交叉中心点。我统一处理,先提取边缘,然后霍夫线变换,得到挑出45、135、0、90度的直线,然后在角度上做方差,去掉差异大的点,然后得到4组点,然后各取平均,相互交叉得到中心点;方格的中心点组成坐标系,然后将十字架中心点放到某个方格中,等比例计算得到相对位置,最后将十字架中心点做坐标变换,平移和旋转得到最终的坐标。结果嘛,凑活,识别误差控制在0.03mm以内了。

              技术难点有:

                      1、直线的识别

                       2、干扰直线的剔除

                       3、方格坐标系的建立

、                    4、找到离十字架中心点最近的方格(距离最近,不是像素最近奥)

                        5、坐标变换,平移和旋转

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值