类 SinusoidalPattern


  • public class SinusoidalPattern
    extends StructuredLightPattern
    该类实现了基于 CITE: faps 的傅里叶变换轮廓术 (FTP)、相移轮廓术 (PSP) 和傅里叶辅助相移轮廓术 (FAPS)。此类生成正弦模式,可用于 FTP、PSP 和 FAPS。
    • 构造函数详细信息

      • SinusoidalPattern

        protected SinusoidalPattern​(long addr)
    • 方法详细信息

      • create

        public static SinusoidalPattern create​(SinusoidalPattern_Params parameters)
        构造函数。
        参数
        parameters - SinusoidalPattern 参数 SinusoidalPattern::Params:投影仪的宽度、高度和图案参数。
        返回
        自动生成
      • create

        public static SinusoidalPattern create()
        构造函数。
        返回
        自动生成
      • computePhaseMap

        public void computePhaseMap​(java.util.List<Mat> patternImages,
                                    Mat wrappedPhaseMap,
                                    Mat shadowMask,
                                    Mat fundamental)
        从正弦图案计算包裹相位图。
        参数
        patternImages - 用于计算包裹相位图的输入数据。
        wrappedPhaseMap - 通过三种方法之一获得的包裹相位图。
        shadowMask - 用于丢弃阴影区域的掩码。
        fundamental - 用于计算外极线并简化匹配步骤的基础矩阵。
      • computePhaseMap

        public void computePhaseMap​(java.util.List<Mat> patternImages,
                                    Mat wrappedPhaseMap,
                                    Mat shadowMask)
        从正弦图案计算包裹相位图。
        参数
        patternImages - 用于计算包裹相位图的输入数据。
        wrappedPhaseMap - 通过三种方法之一获得的包裹相位图。
        shadowMask - 用于丢弃阴影区域的掩码。
      • computePhaseMap

        public void computePhaseMap​(java.util.List<Mat> patternImages,
                                    Mat wrappedPhaseMap)
        从正弦图案计算包裹相位图。
        参数
        patternImages - 用于计算包裹相位图的输入数据。
        wrappedPhaseMap - 通过三种方法之一获得的包裹相位图。
      • unwrapPhaseMap

        public void unwrapPhaseMap​(Mat wrappedPhaseMap,
                                   Mat unwrappedPhaseMap,
                                   Size camSize,
                                   Mat shadowMask)
        解包裹包裹相位图以消除相位模糊。
        参数
        wrappedPhaseMap - 从图案计算出的包裹相位图。
        unwrappedPhaseMap - 用于查找两个设备之间对应关系的解包裹相位图。
        camSize - 相机的分辨率。
        shadowMask - 用于丢弃阴影区域的掩码。
      • unwrapPhaseMap

        public void unwrapPhaseMap​(Mat wrappedPhaseMap,
                                   Mat unwrappedPhaseMap,
                                   Size camSize)
        解包裹包裹相位图以消除相位模糊。
        参数
        wrappedPhaseMap - 从图案计算出的包裹相位图。
        unwrappedPhaseMap - 用于查找两个设备之间对应关系的解包裹相位图。
        camSize - 相机的分辨率。
      • findProCamMatches

        public void findProCamMatches​(Mat projUnwrappedPhaseMap,
                                      Mat camUnwrappedPhaseMap,
                                      java.util.List<Mat> matches)
        借助解包裹相位图查找两个设备之间的对应关系。
        参数
        projUnwrappedPhaseMap - 投影仪的解包裹相位图。
        camUnwrappedPhaseMap - 相机的解包裹相位图。
        matches - 用于显示对应关系图的图像。
      • computeDataModulationTerm

        public void computeDataModulationTerm​(java.util.List<Mat> patternImages,
                                              Mat dataModulationTerm,
                                              Mat shadowMask)
        计算数据调制项。
        参数
        patternImages - 捕获的带有投影图案的图像。
        dataModulationTerm - 保存数据调制项的 Mat。
        shadowMask - 用于丢弃阴影区域的掩码。