GithubHelp home page GithubHelp logo

rosrun 运行问题 about camvox HOT 5 OPEN

isee-technology avatar isee-technology commented on August 10, 2024
rosrun 运行问题

from camvox.

Comments (5)

qiuliuyang-code avatar qiuliuyang-code commented on August 10, 2024

我也遇到了一样的问题,我发现是extrinsic_params向量的第四个参数过大,也就是平移过大

from camvox.

chengguangzhi avatar chengguangzhi commented on August 10, 2024

我也是遇到了同样问题,但我发现问题出现在calibrating.cc文件中Mat Calibrating::convertByIntensity(const Vector6d &calib_params)中的image_project.at<ushort>(point_2d.y, point_2d.x) = intensity,这一行导致出错。

from camvox.

xieKKKi avatar xieKKKi commented on August 10, 2024

我调试发现是Calibrating.cc里的Calibrating初始化函数里

loadParams(strSettingPath_);

这句出了问题,奇怪的是,我直接把loadParams函数里的内容复制到Calibrating里,然后把调用loadParams的语句注释,就不会出这个问题了。现在程序应该可以正常运行。
代码如下:

Calibrating::Calibrating(string _strSettingPath, string _RGB_path, string _Pcd_path, string _Projection_type, bool _isEnhanceImg, bool _isFillImg) : mbResetRequested(false), mbFinishRequested(false), mbFinished(true), mbStopped(false), mbStopRequested(false), mbNotStop(false), mbCalibrating(false), mbOptimizing(false)
  {
    // initialize parameters
    depth_edge_threshold_ = 80;
    best_r_ = 0;
    best_p_ = 0;
    best_y_ = 0;
    optimize_type = 0;
    loadPcd(_Pcd_path);
    //loadParams(strSettingPath_);

    // loadParams 在上面运行时会出现segement failed,这样写就不会
    {
        cv::FileStorage fSettings(_strSettingPath, cv::FileStorage::READ);
        if (!fSettings.isOpened())
        {
          cerr << "Failed to open settings file at: " << _strSettingPath << endl;
          exit(-1);
        }

        fx_ = fSettings["Camera.fx"];
        fy_ = fSettings["Camera.fy"];
        cx_ = fSettings["Camera.cx"];
        cy_ = fSettings["Camera.cy"];
        k1_ = fSettings["Camera.k1"];
        k2_ = fSettings["Camera.k2"];
        p1_ = fSettings["Camera.P1"];
        p2_ = fSettings["Camera.P2"];
        k3_ = fSettings["Camera.k3"];
        bf = fSettings["Camera.bf"];
        width_ = fSettings["Camera.width"];
        height_ = fSettings["Camera.height"];
        rect_.x = fSettings["Rect.x"];
        rect_.y = fSettings["Rect.y"];
        rect_.width = fSettings["Rect.width"];
        rect_.height = fSettings["Rect.height"];

        mDepthMapFactor_ = fSettings["DepthMapFactor"];
        mDepthMapFactor_ = 1 / mDepthMapFactor_;
    }

另外需要注意的是System.cc和Calibrating.cc在这里是直接被编译成动态链接库被调用,如果要修改的话,可以将online文件夹里的CMakeLists.txt文件中的

${PROJECT_SOURCE_DIR}/../../lib/libCamvox.so

注释掉,并加入:

add_library(${PROJECT_NAME} SHARED
        ${PROJECT_SOURCE_DIR}/../../src/System.cc
        ${PROJECT_SOURCE_DIR}/../../src/Tracking.cc
        ${PROJECT_SOURCE_DIR}/../../src/LocalMapping.cc
        ${PROJECT_SOURCE_DIR}/../../src/LoopClosing.cc
        ${PROJECT_SOURCE_DIR}/../../src/ORBextractor.cc
        ${PROJECT_SOURCE_DIR}/../../src/ORBmatcher.cc
        ${PROJECT_SOURCE_DIR}/../../src/FrameDrawer.cc
        ${PROJECT_SOURCE_DIR}/../../src/Converter.cc
        ${PROJECT_SOURCE_DIR}/../../src/MapPoint.cc
        ${PROJECT_SOURCE_DIR}/../../src/KeyFrame.cc
        ${PROJECT_SOURCE_DIR}/../../src/Map.cc
        ${PROJECT_SOURCE_DIR}/../../src/MapDrawer.cc
        ${PROJECT_SOURCE_DIR}/../../src/Optimizer.cc
        ${PROJECT_SOURCE_DIR}/../../src/PnPsolver.cc
        ${PROJECT_SOURCE_DIR}/../../src/Frame.cc
        ${PROJECT_SOURCE_DIR}/../../src/KeyFrameDatabase.cc
        ${PROJECT_SOURCE_DIR}/../../src/Sim3Solver.cc
        ${PROJECT_SOURCE_DIR}/../../src/Viewer.cc
        ${PROJECT_SOURCE_DIR}/../../src/pointcloudmapping.cc
        ${PROJECT_SOURCE_DIR}/../../src/Calibrating.cc
        )

最后一行改成

target_link_libraries(camvox ${LIBS} ${PROJECT_NAME})

from camvox.

wuyuanmm avatar wuyuanmm commented on August 10, 2024

其实是 Calibrating.cc 中的 strSettingPath_ RGBPath PcdPath_ 以及 System.cc 中的 strSettingPath RGBPath PcdPath要改成自己工程的路径

from camvox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.