格雷码的编解码

格雷码的编解码(以3位为例)

1 编码

从二进制码转换到格雷码,从右到左以0~n-1编号,若二进制码字第i位和第i+1位相同,则对应格雷码第i位位0,否则为1(异或),第n位认为是0。

十进制 二进制码 格雷码
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
5 101 111
6 110 101
7 111 100

格雷码好处:相邻数只有1位变化,最大和最小数首尾相连,能避免解码错误。
将这 2 3 = 8 2^3=8 23=8个格雷码的同一位上的值取出,从高位到低位排列为:

0000 1111 0011 1100 0110 0110

0对应0,1对应255,则可形成三幅格雷码图,即编码后的图像(阴影表示0)

格雷码的编解码_第1张图片

2 解码

通过生成的三幅格雷码图,一幅图对应一位,最左边的图对应最高位,最右边图对应最低位,三幅图一共能解出 2 3 = 8 2^3=8 23=8种格雷码
如上面三幅图的第一位解出:001,第五位解出:111,第七位解出:100。

3 用途

结构光编码,用于双目视觉标定,三维重建中,对一个像素进行编码后,将格雷码图集通过投影仪投射到物体上,再用相机采集图像并对像素解码,来求得物体点在投影仪图像中的位置坐标。

你可能感兴趣的:(计算机视觉)