1、格雷码编解码

本文介绍了单目结构光编码技术,包括如何利用投影仪进行编码,格雷码的编码与解码,以及图片二值化的方法。同时讨论了在不同材质和光照条件下,如何选择高频和低频光进行编码以适应各种场景。
摘要由CSDN通过智能技术生成

1.1 单目结构光编码目的

把投影仪看成“逆”相机,利用结构光编码的方式,知道打在物体表面的光是从投影仪的哪个像素发出来的,从而知道该物体表面上的一点在投影仪的虚拟成像位置。从而利用双目成像原理,来计算出实际位置。

1.2 格雷码的编码与解码

1.2.1 格雷码编码

二进制转格雷码

1、最高bit保持不变

2、当前bit与高一bit亦或得当前格雷码。(亦或,相同为0,不同为1)

1.2.2 格雷码解码

1、最高bit保持不变

2、当前bit与高一bit格雷码亦或得当前格雷码

1.3 图片二值化

前提条件:投影仪买的每个点至少都要经历一次明暗变化,即总要找到一张图,该位置为0,另一张图该位置为1;

实现方法:

方法1:增加两张图,一张图全黑图,一张图全亮图

方法2:去除全0和全1的编码,让每个编码至少包含有一个0和一个1

二值化方法:

thred = \frac{I - I_{min}}{I_{max} - I_{min}}

对每个像素,计算其在整个时间序列下的最大值和最小值,然后对当前图片图片像素二值化,就是计算出一个如上式所示的阈值,阈值大于0.5的时候为1,小于0.5则为0

1.4 其他离散型编码

在某些特定场景,由于物体本身材质原因,收全局光(投影仪发出的光)影响。

解决思路:不同的全局光照,对不同频率的编码光,影响不同

高频光:适合内反射、漫反射

低频光:适合下表面反射

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
格雷码编解码是一种常用的编码方式,用于在数字通信和数据存储中减小传输错误和数据误解的可能性。在代码中,提供了一个用MATLAB实现的格雷码编解码的例子。这段代码使用了一个12位的格雷码矩阵p,并对其进行了编码和解码操作。 首先,代码定义了一个12x12的单位矩阵I,并与格雷码矩阵p进行了水平拼接,得到一个24x12的矩阵H。然后,定义了一个24位的接收向量r,用于接收编码后的格雷码。 接下来,通过一个循环,依次对格雷码的每一位进行编码和解码。代码使用了一系列的逻辑条件来判断编码和解码的方式。 如果接收向量r中1的个数小于等于3,将接收向量与格雷码矩阵p进行异或运算,得到解码后的结果v。 如果接收向量r与格雷码矩阵p的乘积中1的个数小于等于2,将接收向量、格雷码矩阵p以及单位矩阵I进行拼接,并进行异或运算,得到解码后的结果v。 如果接收向量r与格雷码矩阵p的乘积中1的个数等于2,将接收向量与全1矩阵进行异或运算,得到解码后的结果v。 如果接收向量r与格雷码矩阵p的乘积中1的个数等于3,将接收向量、格雷码矩阵p、格雷码矩阵p的转置以及单位矩阵I进行拼接,并进行异或运算,得到解码后的结果v。 最后,如果解码后的结果v为空,输出"译码失败"。 这段代码提供了基于MATLAB的格雷码编解码的实现,通过对输入的格雷码进行编码和解码操作,可以得到解码后的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值