Evans Liu

Results 50 comments of Evans Liu

请使用`markdown`格式贴出代码,仅通过图片不好引用你的代码。 如果需要,可以上传一张图片,我尝试一下。

请给出原图片,您上传的这种截图图片无法通过调试定位问题。 ![image](https://github.com/Practice3DVision/SLMaster/assets/84160076/4442016d-28a0-4635-959f-dd433ba40a62)

原因在于圆所占面积过大,而自适应阈值的领域过小,导致二值化失败。 请调整自适应阈值的领域[findConcentricRingGrid.cpp](https://github.com/Practice3DVision/SLMaster/blob/71c321fbd64d17359544eba64e875e2a21408a21/src/calibration/concentricRingCalibrator.cpp#L138)。 将`41`改为`51`后效果如下: ![image](https://github.com/Practice3DVision/SLMaster/assets/84160076/18ee9fbb-2b0f-4bb0-bdcb-48dfa6471dd5) 软件将考虑将该邻域作为可修改参数,供使用者在GUI进行调整,预计将在下一版本中加入该功能。

改邻域大小到合适的值就行,如果图像噪声比较小,可以用注释掉的大津法进行二值化

可以查看GUI中关于标定子模块的使用示例:[getCalibrator](https://github.com/Practice3DVision/SLMaster/blob/dcc785851f286f58bbd3f4204fd10abe35db8fd9/gui/src/CalibrateEngine.cpp#L22C1-L41C1) ``` Calibrator * CalibrateEngine::getCalibrator(const AppType::TargetType targetType) { Calibrator *calibrator = nullptr; if (targetType == AppType::TargetType::ChessBoard) {//棋盘格 calibrator = new ChessBoardCalibrator(); } else if (targetType == AppType::TargetType::Blob) {//圆点 calibrator =...

已修复该问题,现在双圆环标定算法会在失败情况下尝试使用`CALIB_CB_CLUSTERING`标志位以搜索大视野和畸变较高情况下的特征点。 见[源文件](https://github.com/Practice3DVision/SLMaster/blob/f4848df8e32e287c4d835149cca516d1049ee2a0/src/calibration/concentricRingCalibrator.cpp#L158): ``` isFind = cv::findCirclesGrid( threshodFindCircle, cv::Size(patternSize.width, patternSize.height), pointsOfCell, cv::CALIB_CB_SYMMETRIC_GRID | cv::CALIB_CB_CLUSTERING, detector); ``` ![image](https://github.com/Practice3DVision/SLMaster/assets/84160076/50864420-56fe-47f1-b01b-9d58b3ad9804)

1、是同心圆圆心的距离 2、GUI中包含特征点横轴/纵轴翻转功能,请自行查看 3、这两幅图像经测试是`OpenCV`方法`cv::findCirclesGrid()`搜索失败,图片无法使用,请尽量使用1/3幅面标定板图像

> true > 额,在app.qml中添加FluApp.useSystemAppBar = true,使用系统边框就能变成黑色。我在想能否将QOpenGLFunctions和Item绑定呢,这样就有Item的层级关系?现在就像是Window的一个background..层级在最底层。 我现在也遇见这个问题了,感觉比较致命,请问有什么好的解决方案吗