一、结构光编解码简介
结构光编解码可分为空间编码与时间编码,空间编码投射单幅编码图像即可完成一次测量;时间编码投射一系列编码图像才能完成一次测量。空间编码适合动态物体的测量,精度较时间编码稍低。时间编码适合静态物体的测量,精度较高。
目前较为常见的时间编码主要有多频外差、格雷+相移、格雷码+线移、 线移、正反格雷码等。本次文章主要介绍多频外差编解码原理,实现多频外差解码 。
二、格雷码+相移原理
2.1 格雷码
格雷码是由法国工程师Jean-Maurice-mile Baudot于1880年发明的一种编码,后来由贝尔实验室的Frank Gray在1953年申请“Pulse Code Communication”专利而得名。格雷码最初主要应用于通信,现在则在通信、计算机、工业自动化、结构光测量等行业有着广泛应用。
在一组二进制的编码中,如果任意两个相邻的码字只有一位二进制位不同,则这种码称为格雷码。格雷码是一种可靠性编码,采用的是一种将错误最小化的编码方式,具有抗干扰性,高可靠性,高稳定性等特点。
格雷码可以分为RGB颜色格雷码和二值格雷码,RGB颜色格雷码使用蓝色和红色来代替黑白编码条纹, 同时在蓝红条纹之间加入一个像素宽的绿色条纹[。RGB颜色格雷码相较于二值格雷码具有更高的测量精度,但是解码更为复杂。
格雷码的解码就是将格雷码转化为标准二进制码,再将二进制码转化为十进制,即可确定相位周期。将格雷码转换成标准二进制码,首先保持格雷码最左边的一位码字不变,从左边第二位码字起,将每位码字与前一位解码后的值进行异或运算。
设二进制格雷码为,其对应的标准二进制码
故有转化公式:
其中代表异或运算,相同则为0,不同则为1。
假设有二进制格雷码00101100,则其标准二进制码为00110111,解码过程如图1 所示。
图1 格雷码解码
将得到的二进制转化为十进制,其数值可用k 表示。(格雷码需与相位周期保持一致,如8bit 的格雷码,共有256 个值,那么相位的周期需为256)
2.2 折叠相位获取
在条纹投影系统中,投影仪投射出正弦条纹图像。2π 以内的相位称为折叠相位或者主值相位,其获取方法主要包含傅里叶变换法和相移法。傅里叶变换法仅需投出一幅图像,一般用于对测量速度要求较高的测量中。相移法一般需要三张以上的相移图,对系统的随机噪声具有较好的抑制作用,且对 N-1 次以下谐波误差不敏感,并可针对每个像素单独求解相位。一般来说,四步相移比三步相移有更高的精度和稳定性,且计算简单,更广泛的应用于折叠相位求解中。
在四步相移过程中,相移值在 0-2π 之间等间距变化四次,即投影仪投出四张相位差为 π/2 的相位图像,像平面 u 坐标下的灰度值如图2 所示:
图2 四步相移原理图
被测物上的光强如下式所示:
其中 a(u,v)为图像的平均灰度,b(u,v) 为图像灰度调制强度,为待计算的折叠相位。
根据上式可以计算出折叠相位:
2.3 格雷码+相移解码结果
格雷码
四步相移
格雷码解码结果
折叠相位
绝对相位
Q:874653199