MechineVID

Results 16 comments of MechineVID

根据您提供的建议,获取的数据如下: ![image](https://github.com/Practice3DVision/SLMaster/assets/132988721/69e38afe-1650-4cc5-8aa9-b659d4f3a0cb) 该图的RMSE为:0.354727;共拍摄8幅不同角度的图像,平均RMSE为: 0.305761。 这是进行反向相位补偿后的垂直与水平绝对相位图 ![Image_123](https://github.com/Practice3DVision/SLMaster/assets/132988721/ee7de98a-9b78-4e69-92b3-a7069dca1521) ![ImageH_123](https://github.com/Practice3DVision/SLMaster/assets/132988721/24035775-4dde-4d39-9ae4-93b9aa24a9d1) 以下是为未采用反向相位补偿的垂直与水平绝对相位图 ![Image_123](https://github.com/Practice3DVision/SLMaster/assets/132988721/a3c898d2-38fc-4920-b1a2-2c0d73b1f25e) ![ImageH_123](https://github.com/Practice3DVision/SLMaster/assets/132988721/f0b90969-ed71-45e6-b8b3-dfd2aac3b33e) 未采用反向相位补偿后将相机平面下的特征点的坐标后将特征点映射到投影仪成像平面后的图像如下: ![Image_DMD](https://github.com/Practice3DVision/SLMaster/assets/132988721/d34e9735-689b-47ba-92dc-fe188760ac8b) 未采用反向相位补偿后通过openGL以投影仪成像平面的特征点的坐标为中心绘制的圆的图像如下: ![4](https://github.com/Practice3DVision/SLMaster/assets/132988721/be8f7c2e-54b4-4e49-8e24-08bdd14ca282) 可以看出采用的反向相位补偿效果更好点,那么接下来是要提高特征点提取精度吗?标定板的规格是:7*7; 半径分别为2.5、4、5.5、7;特征点的距离为20。用CAD画并转化为PDF打印的,打印出来后无论半径还是特征点的距离都有所偏差,有的比较正确,有的偏差0-0.5mm

条纹编码使用的是供应商提供的软件生成的条纹,界面如下: ![image](https://github.com/Practice3DVision/SLMaster/assets/132988721/eda5015b-b4eb-4fd9-99e4-f79b8a0aee95) 这是用python进行解码(未采用反向相位补偿)的代码: ``` import numpy as np import cv2 as cv import math import os import csv import matplotlib.pyplot as plt from PIL import Image, ImageDraw # 确保输出文件夹存在,如果不存在则创建(用于保存结果图像) folder_name...

这是结构光投影仪的参数 ![image](https://github.com/Practice3DVision/SLMaster/assets/132988721/639c535e-4c20-4640-a9e2-9fb25d9bb12b)

好的,非常感谢!有个问题还想向您请教,麻烦可以更加具体说明我应该调用哪个函数,以至于可以直接用自己的图像进行解相(离线),而不用Qt。麻烦您了

感谢您您提供的代码,效果确实好多了,有个疑问向您请教: ```params.shiftTime = 4; params.height = 720; params.width = 1280; params.horizontal = false; params.nbrOfPeriods = 45; params.confidenceThreshold = 40.f; ``` 中的confidenceThreshold的值不会对特征点的绝对相位值产生影响吧? 当我用params.confidenceThreshold = 30 时绝对相位图如下: ![30](https://github.com/Practice3DVision/SLMaster/assets/132988721/a1361f1d-ee3e-4ed8-bed4-c45b08051bb1) 当我用params.confidenceThreshold = 40 时绝对相位图如下:...

好的,请问在使用`threeFrequencyHeterodynePattern.cpp`中的`unwrapPhaseMap`函数时,该函数输出的矩阵的值是直接映射到0-255上了吗?如果是的话,我应该怎么修改参数/代码,使其的绝对相位值映射回[0, 2pi]上呢?以便之后操作

您提供的`recoverDepth.h`中`reverseCamera`函数的`phase`具体含义是啥呀?还有就是`minDepth`与`maxDepth`是根据实际情况自己估计吗? ``` * @brief 逆相机三角测量模型 * @param phase 绝对相位 * @param PL 左相机投影矩阵 * @param PR 右相机投影矩阵 * @param minDepth 最小深度 * @param maxDepth 最大深度 * @param pitch 节距 *...

这是调用关键函数findConcentricRingGrid 得到特征点的坐标的main函数,是在concentricRingCalibrator.cpp中写的main函数。 当使用您提供的双圆环图像,并修改相应参数,可以得到特征点的坐标。使用的环境是VS2017+opencv-4.3.0 ![1](https://github.com/Practice3DVision/SLMaster/assets/132988721/4e757aa9-4c75-44a5-87ce-652151791e9a) ```` int main() { // 创建一个 ConcentricRingCalibrator 对象 slmaster::calibration::ConcentricRingCalibrator calibrator; // 定义模式大小和圆环半径向量 cv::Size imageshape(1920, 1080); cv::Size patternSize(6, 4); // std::vector radiusVector = {5.0f, 7.5f, 10.0f, 12.5f};...