kinect深度距离误差_TOF相机深度矫正基于Kinect v2

kinect深度距离误差_TOF相机深度矫正基于Kinect v2之前的文章《answer:深度相机(TOF)矫正》由于时间匆忙,临时想了一种深度相机深度像素矫正方法,即固定高度逐像素矫正。该方法简单粗暴,效果并不理想,最近查阅了相关文献资料,基于之前的思路整理出一种现场可用的简单易行的矫正方法。二维平面畸变矫正使用张氏标定法对二维平面进行径向畸变矫正。深度像素矫正做图像处理的难点在于图像包括图像的噪声随机性很大,即使在同一位置拍摄也没有完全一样的图像,所以所设…

大家好,又见面了,我是你们的朋友全栈君。

之前的文章《answer:深度相机(TOF)矫正》由于时间匆忙,临时想了一种深度相机深度像素矫正方法,即固定高度逐像素矫正。该方法简单粗暴,效果并不理想,最近查阅了相关文献资料,基于之前的思路整理出一种现场可用的简单易行的矫正方法。二维平面畸变矫正

使用张氏标定法对二维平面进行径向畸变矫正。深度像素矫正

做图像处理的难点在于图像包括图像的噪声随机性很大,即使在同一位置拍摄也没有完全一样的图像,所以所设计的算法实质上是在与自然界的随机性进行对抗。

深度相机的噪声主要包括非系统误差与系统误差。其中非系统误差有包括环境噪声、表面材质反射、温度等等。为减少这些误差对标定效果的影响,尽量让标定环境与实际使用环境一致,这样标定效果是最好的。系统误差是指相机硬件系统产生的误差。

了解了深度相机使用过程中会产生以上误差,如果对每种误差进行建模分析比较麻烦不适用于现场实际使用,本文设计一种统一的相机误差模型并矫正。

该模型认为深度相机在不同高度拍摄的图像,相同像素位置的误差是不同的,并且假设误差量成线性变化。标定方法依然采用之前的逐像素补偿法,在不同间隔高度采图,间隔之间的高度采用线性插值进行估计。具体方法如下:标定平面与相机平面平行,相机工作距离内不同高度采图,每个高度采多组图;

相同高度的多组图进行融合,融合方法使用中值滤波;

由于相机实际拍摄到的深度值有波动,不是完全平整,所以可以使用中值滤波或双边滤波进行处理,本文使用中值滤波;

每个高度的图像取中心范围n*n大小的区域,对该区域深度取中值作为该图像的标准高度,n*n范围外的像素与标准高度做差作为补偿值;

这样所拍摄高度图像像素的补偿值得到了,其他高度的补偿值通过线性插值得到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141433.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 转转:微信小程序分包加载实战

    转转:微信小程序分包加载实战

  • PHP json 类型「建议收藏」

    PHP json 类型「建议收藏」有时候需要用json的格式返回数据,json是一个很常用的数据传输方式。下面是一个最简单的例子。就是说只需要设置一下文档类型是json的就可以了。‘helloworld’,’2’=>’linuxworld’);$show=j

  • c语言心形曲线_c语言怎么画心

    c语言心形曲线_c语言怎么画心原理:利用内嵌循环绘制方程:(x2+y2−1)3=x2y3(x^2+y^2-1)^3=x^2y^3(x2+y2−1)3=x2y3的图像代码:/*说明:本程序的原理是根据方程(x^2+y^2-1)^3=x^2*y^3作差得值f,若f<=0,则用’*’填充,否则就用”填充最后得到了心形曲线*/#include<cstdio>#include<iostream>usingnamespacestd;intmain(){float

  • dubbo 异步调用

    dubbo 异步调用dubbo异步调用使用总结

  • 转:电商推荐技术

    转:电商推荐技术

  • Mysql主主模式和主键id冲突问题

    Mysql主主模式和主键id冲突问题Mysql双机热备,简单的说,就是要保持两台数据库的数据同步。始终保持两个数据库数据一致。 主要有主备方式、双主方式;,实现双主互备,双主都可以写入;实现简单的负载均衡。问题描述:因为多主中都可以对服务器有写权限,所以设计到自增长重复问题 解决方法: 我们只要保证两台服务器上插入的自增长数据不同就可以了 如:A插入奇数ID,B插偶数ID,当然如果服务器多的话,你可以定…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号