本发明涉及图像处理技术领域,具体涉及一种用于tof相机降噪的方法。
背景技术:
目前tof相机采用tof传感器,tof是timeofflight技术的缩写,即传感器发出经调制的光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息,返回的光线强度与物体表面反射率(物体表面反射率是物体的固有性质)和物体离相机距离有关,其中反射率越低返回光线的光强度越弱,距离越远返回光线的光强度越弱。与传统的基于双目测距或结构光测距的方法相比,tof测距具有受环境光影响小,与物体表面纹理特征无关等优势。
尽管tof传感器与普通的图像传感器有更强的感光效率,但测量结果不可避免的会受到噪声影响。目前tof相机常用的降噪方法如中值滤波,均值滤波等,只使用深度值进行运算,不可避免的会导致图像边缘的模糊,导致被测量物体的边缘区域距离产生很大误差。
技术实现要素:
本发明所要解决的技术问题是提供一种tof相机降噪方法,
本发明解决上述技术问题的技术方案如下:
一种tof相机降噪方法,其特征在于:按照如下步骤,
s1:根据tof测距方法,计算每个像素的距离图像、返回光线强度图像;
s2:遍历待处理区域的所有像素点,缓存滤波窗口内(2m+1)*(2n+1)的每个像素点dist值与amp值,其中m和n分别为每个像素点水平和垂直方向的滤波半径;
s3:计算滤波窗口内(2m+1)*(2n+1)的像素点对应的权重;
s4:滤波窗口内每个点的权重与该点的dist值相乘并累加求和得到sumdist;滤波窗口内所有权重值求和得到sumweight;
s5:对sumweight进行判断,如果sumweight小于阈值,说明测得的是一个孤立的点,这在正常场景中通常不存在,使用滤波窗口内所有点距离值的中值替代中心点的距离值;如果sumweight大于阈值,则使用sumdist与sumweight的比值代替中心点的距离值;
s6:对下一个待处理像素重复3-5的操作,直至遍历完所有待处理像素。
dist(distance,距离)值为被测物体距离相机的tof传感器的距离,amp表示反射光线强度。
进一步,所述计算每个像素的距离图像、返回光线强度图像的方
法为,对每个像素进行二次或四次采样;
二次采样具体为:像素对应的二次采样值分别为dcs1,dcs2;
距离dist=c/2*t*atan(dcs1/dcs2)/2/pi,amp=sqrt(dcs1^2+dcs2^2);
四次采样具体为:像素对应的四次采样值分别为dcs1,dcs2,dcs3,dsc4;
距离dist=c/2*t*atan((dcs3-dcs1)/(dcs2-dcs4))/2/pi,其中c为光速,t为光源调制周期,pi为圆周率;
反射光线强度amp=sqrt(((dcs3-dcs1)^2+(dcs2-dcs4)^2)),sqrt为开方运算。
进一步,步骤s3,计算滤波窗口内(2m+1)*(2n+1)的像素点对应的权重,窗口内的像素点与中心点的amp值差异越大则权重越小,采用高斯曲线或者线性权重计算方法或查表的方式;
差异dif=|amp(i,j)–amp_center|;i<m,j<n;
使用高斯曲线计算权重weight(i,j),权重weight(i,j)=exp(-dif^2/sigma^2),sigma为可调节系数;
使用线性权重,weight(i,j)=a–dif,a为可调节系数;
采用查表的方式,差异为0,1,2,3,…x;对应的权重表设置为y,……0,x和y都为正整数。
与现有技术相比较,本发明的显著效果:本发明与目前常用的降噪方法相比,结合tof测距的具体特点,根据反射光的强度去推断是否输入同一物体表面,从而对tof相机测得的数据进行很精准的降噪。
附图说明
图1为本发明tof相机降噪方法的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
一种tof相机降噪方法,采用现有的相机tof传感器,tof传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息,返回的光线强度与物体表面反射率和物体离相机距离有关,其中反射率越低返回光线的光强度越弱,距离越远返回光线的光强度越弱。
本发明的tof相机降噪方法具体按照如下步骤,如图1所示;
步骤1;根据tof测距方法,计算每个像素的距离图像、返回光线强度图像;
步骤2;遍历待处理区域的所有像素点,缓存滤波窗口内(2m+1)*(2n+1)的每个像素点dist值与amp值,其中m和n分别为每个像素点水平和垂直方向的滤波半径;
步骤3;计算滤波窗口内(2m+1)*(2n+1)的像素点对应的权重;
步骤4;滤波窗口内每个点的权重与该点的dist值相乘并累加求和得到sumdist;滤波窗口内所有权重值求和得到sumweight;
步骤5;对sumweight进行判断,如果sumweight小于阈值,说明测得的是一个孤立的点,这在正常场景中通常不存在,使用滤波窗口内所有点距离值的中值替代中心点的距离值;如果sumweight大于阈值,则使用sumdist与sumweight的比值代替中心点的距离值;
步骤6;对下一个待处理像素重复3-5的操作,直至遍历完所有待处理像素。
步骤1计算每个像素的距离图像、返回光线强度图像的方法为,对每个像素进行采样,一般为二次或四次采样,但是二次采样效果差用的较少,一般是采用四次采样的方法;
四次采样具体为:像素对应的四次采样值分别为dcs1,dcs2,dcs3,dsc4;
距离dist=c/2*t*atan((dcs3-dcs1)/(dcs2-dcs4))/2/pi,其中c为光速,t为光源调制周期,pi为圆周率;
反射光线强度amp=sqrt(((dcs3-dcs1)^2+(dcs2-dcs4)^2)),sqrt为开方运算。
步骤3,计算滤波窗口内(2m+1)*(2n+1)的像素点对应的权重,窗口内的像素点与中心点的amp值差异越大则权重越小,采用高斯曲线或者线性权重计算方法或查表的方式;
差异dif=|amp(i,j)–amp_center|;i<m,j<n;
使用高斯曲线计算权重weight(i,j),权重weight(i,j)=exp(-dif^2/sigma^2),sigma为可调节系数;
使用线性权重,weight(i,j)=a–dif,a为可调节系数;
采用查表的方式,差异为0,1,2,3,…x顺序连续的正整数;差异对应的权重为y,……0顺序连续的正整数,x和y都为正整数。
步骤5阈值的确定方法为根据差异对应的权重,例如,差异为0时,对应的权重为20,则设置阈值为20。
最后,以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。