GrayCodePattern 类


  • public class GrayCodePattern
    extends StructuredLightPattern
    基于文献[UNDERWORLD]的灰码模式实现类。模式图像的生成使用传统的黑白颜色进行灰度编码。两个图像轴 x、y 的信息分别编码到两个不同的模式序列中。分辨率为 (P_res_x, P_res_y) 的投影仪 P 将产生 Ncols = log 2 (P_res_x) 个编码模式图像来表示列,以及 Nrows = log 2 (P_res_y) 个编码模式图像来表示行。例如,分辨率为 1024x768 的投影仪将产生 Ncols = 10 和 Nrows = 10。但是,生成的模式序列包含常规彩色图像和颜色反转图像:反转模式图像是与原始图像结构相同但颜色反转的图像。这提供了一种有效的方法,可以轻松确定每个像素在点亮时(最高值)和未点亮时(最低值)的强度值。因此,对于分辨率为 1024x768 的投影仪,模式图像的数量将为 Ncols * 2 + Nrows * 2 = 40。
    • 构造函数详情

      • GrayCodePattern

        protected GrayCodePattern​(long addr)
    • 方法详情

      • create

        public static GrayCodePattern create​(int width,
                                             int height)
        构造函数
        参数
        width - 自动生成
        height - 自动生成
        返回
        自动生成
      • getNumberOfPatternImages

        public long getNumberOfPatternImages()
        获取灰码模式所需的模式图像数量。
        返回
        灰码模式所需的模式图像数量。
      • setWhiteThreshold

        public void setWhiteThreshold​(long value)
        设置白色阈值,用于解码。白色阈值是 0-255 之间的数字,表示灰码模式及其反转图像之间有效像素所需的最小亮度差;用于 getProjPixel 方法。
        参数
        value - 所需的白色阈值。
      • setBlackThreshold

        public void setBlackThreshold​(long value)
        设置黑色阈值,用于解码(阴影掩码计算)。黑色阈值是 0-255 之间的数字,表示完全照明(白色)图像和未照明图像(黑色)之间有效像素所需的最小亮度差;用于 computeShadowMasks 方法。
        参数
        value - 所需的黑色阈值。
      • getImagesForShadowMasks

        public void getImagesForShadowMasks​(Mat blackImage,
                                            Mat whiteImage)
        生成用于阴影掩码计算的全黑和全白图像。为了识别阴影区域,即投影仪光线未照射到像素的区域,并且没有编码信息,3DUNDERWORLD 算法根据每个相机捕获的白色和黑色图像,计算两个相机视图的阴影掩码。此方法生成这两个额外的图像以进行投影。
        参数
        blackImage - 生成的投影仪分辨率的全黑 CV_8U 图像。
        whiteImage - 生成的投影仪分辨率的全白 CV_8U 图像。
      • getProjPixel

        public boolean getProjPixel​(java.util.List<Mat> patternImages,
                                    int x,
                                    int y,
                                    Point projPix)
        对于摄像机的 (x,y) 像素,返回对应的投影仪像素。该函数将相机获取的模式图像中的每个像素解码为其对应的十进制数字,这些数字表示投影仪的列和行,从而提供相机和投影仪像素之间的映射。
        参数
        patternImages - 相机获取的模式图像,存储在灰度向量 < Mat > 中。
        x - 图像像素的 x 坐标。
        y - 图像像素的 y 坐标。
        projPix - 对应于相机像素的投影仪像素:projPix.x 和 projPix.y 是对应于相机中被解码的像素的投影仪像素的图像坐标。
        返回
        自动生成