格雷码,外差
基于c++版本相位编码与解码
GrayCoding 类 为相移+格雷码的编码与解码程序
MultiFrequency 类 为三频外差的编码与解码程序
Main为运行代码的主程序,包含了两种方法的执行示例
实现了两种光学测量技术的计算机模拟:多频外差法和格雷码法。它使用了OpenCV库来处理图像和矩阵运算,编写于C++环境中。代码分为两个主要部分,分别对应于两种技术。
多频外差法 (MultiFrequency 类)
生成条纹图像 (GenerateFringe 方法):
生成三个不同频率的四步相移条纹图像。
使用三个不同的频率比值(70, 64, 59)和固定的条纹宽度。
每个频率生成四个相移图像,总共生成12张图像。
解码 (SolvePhase 方法):
输入为12张相移图像。
首先计算每个频率的包裹相位。
然后进行外差操作,结合不同频率的包裹相位,计算出最终的外差相位。
最后,通过外差相位和原始相移相位计算出绝对相位。
格雷码法 (GrayCoding 类)
生成条纹图像 (GenerateFringe 方法):
生成四步相移条纹图像和六个格雷码图像。
格雷码图像是通过预定义的格雷码编码表生成的。
解码 (SolvePhase 方法):
输入为四张相移图像和六张格雷码图像。
首先计算包裹相位。
然后通过对格雷码图像的分析,将包裹相位解开成绝对相位。
主函数 (main)
实例化GrayCoding和MultiFrequency类。
生成相应的条纹图像和解码它们。
对于每种方法,读取生成的图像,进行解码操作,并得到相位信息。
功能和应用