census变换理解

算法原理

Census变换是使用像素邻域内的局部灰度差异将像素灰度转换为比特串,思路非常简单,通过将邻域窗口(窗口大小为n×m,n和m都为奇数)内的像素灰度值与窗口中心像素的灰度值进行比较,将比较得到的布尔值映射到一个比特串中,最后用比特串的值作为中心像素的Census变换值Cs,如下图所示:
census变换理解_第1张图片
具体而言,对于欲求取视差的左右视图,要比较两个视图中两点的相似度,可将此两点的census值逐位进行异或运算,然后计算结果为1 的个数,记为此两点之间的汉明值,汉明值是两点间相似度的一种体现,汉明值愈小,两点相似度愈大实现算法时先异或再统计1的个数即可,汉明距越小即相似度越高。

使用目的

在实际场景中,造成亮度差异的原因有很多,如由于左右摄像机不同的视角接受到的光强不一致,摄像机增益、电平可能存在差异,以及图像采集不同通道的噪声不同等,cencus方法保留了窗口中像素的位置特征,并且对亮度偏差较为鲁棒,简单讲就是能够减少光照差异引起的误匹配
Census变换对整体的明暗变化并不敏感,因为是比较的相对灰度关系,所以即使左右影像亮度不一致,也能得到较好的匹配效果。

参考:
https://www.cnblogs.com/aslmer/p/6369936.html
https://blog.csdn.net/rs_lys/article/details/83614915

你可能感兴趣的:(机器视觉理论知识)